为什么安装一个npm软件包会删除许多其他软件包?

mas*_*wok 5 npm react-native

我在使用npm安装软件包时遇到困难。该软件包安装成功,但是,它删除了一堆其他软件包。

我无法在另一台机器上重现此内容。这是软件包安装的输出:

[masterwok@crunchbox Caster]$  npm install react-native-google-cast --save
npm notice created a lockfile as package-lock.json. You should commit this file.
+ react-native-google-cast@1.3.0
added 1 package and removed 638 packages in 7.967s
[masterwok@crunchbox Caster]$  
Run Code Online (Sandbox Code Playgroud)

如您所见,它完全破坏了我的应用程序依赖性。是什么原因造成的?如果我不得不猜测,我会说无法满足某些依赖关系,而这种依赖关系会逐步下降。我不知道哈

klv*_*lvs 3

我不完全确定为什么 npm 正在做它正在做的事情,但从输出、package-lock 的外观来看,我推测您正在使用 npm5。

尝试降级到 npm 4。

  • 最新版本的 NPM(我撰写本文时为 5.0.3)存在一些错误。除了一些错误之外,升级到 NPM5* 然后在现有项目上运行“npm install”也很复杂。不是错误,而是功能:-) 从具有 NPM5 之前版本的计算机运行 NPM 安装不会将更改写入 package-lock.json。参考资料: [第二次运行 `npm install` 后缺少依赖项](https://github.com/npm/npm/issues/16839) [npm@5 已知问题跟踪](https://github.com/npm /npm/问题/16991) (2认同)