为什么"npm install"会删除不相关的软件包?



当我运行npm install --save bootstrap-vue时,它会删除我已经安装的font真棒包。

当我运行npm install --save @fortawesome/fontawesome-free时,它会删除引导程序vue包。

安装这两个包的唯一方法是在命令行上指定它们,如下所示:npm install --save bootstrap-vue @fortawesome/fontawesome-free

我想我的package-lock.json文件可能有一些损坏,所以我试着对其进行核处理并重新安装所有内容,但这种行为仍然存在。

什么东西?我以前从未遇到过这种情况,安装一个包会导致删除另一个包。

更新:下面是我的package.json文件,没有安装任何一个包。以此为起点(没有package-lock.json),我可以安装其中一个包,但当我安装另一个包时,它会删除第一个包。我用什么顺序并不重要。

{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.19",
"bootstrap": "^4.0.0",
"cross-env": "^7.0",
"jquery": "^3.2",
"laravel-mix": "^5.0.1",
"lodash": "^4.17.13",
"popper.js": "^1.12",
"resolve-url-loader": "^2.3.1",
"sass": "^1.20.1",
"sass-loader": "^8.0.0",
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
},
"dependencies": []
}

编辑:只是想说,三个月后,这种情况仍然存在。这是最奇怪的事。

问题是package.json:

"dependencies": []

使用此条目,安装某些内容时dependencies将不会更新。改为:

"dependencies": {}

最新更新