我有一个在节点6.2.0上断开的子顺从。它使用的是旧版本的子子顺序。
将我的package.json设置为指向更新的依赖项与npm install xxx
使用的依赖关系无关。
似乎我必须在github中分配每个依赖项,将它们的package.json指向新的提交并再次尝试npm install,这似乎是用户体验的递归噩梦。怎么办?
答案 0 :(得分:1)
您可以使用npm shrinkwrap
命令,这将创建一个npm-shrinkwrap.json
文件,您可以在其中修改依赖关系在运行npm install
时应使用的版本。
此外,在运行npm shrinkwrap
之前,您必须安装所有依赖项,否则您最终会得到一个空的npm-shrinkwrap.json
文件。
This blog post讨论了它的工作原理,这里是npm shrinkwrap
的{{3}}。
值得注意的是,默认情况下npm shrinkwrap
不会包含任何devDependencies
,因此如果使用--save-dev
安装了有问题的软件包,则需要明确包含这些软件包
npm shrinkwrap --dev