深度“npm更新”?

深度“npm更新”?

问题描述:

运行npm update更新package.json中列出的项目;然而,这些项目的依赖关系仍然过时。深度“npm更新”?

明显的解决方法是再次运行npm update。有时我需要运行3次以获得清洁npm outdatednpm update是否有执行深度更新的标志?

另一种极端的解决方法是重新安装

rm -rf node_modules 
npm install 
+0

是不是应该被认为是有需要的代码可以具体处理的旧副本? – dandavis 2014-10-01 18:21:24

+0

嗯........没有 – kornieff 2014-10-01 18:28:27

+0

要小心,你的包可能与它们的依赖的新版本不兼容的。我认为这是一个坏主意,这样做 – meriadec 2014-10-01 18:38:07

作为丑陋的解决方法我已经在这个函数我的〜/ .bash_profile中

function up { 
    npm remove --save "$1"; 
    npm install --save "$1"; 
} 

所以每当我想更新的依赖我只需运行up expressup yourFavoritePackage

如果你看一看导演在node_modules中的y结构中,您会注意到每个模块都有其自己的子目录node_modules用于其依赖关系。您不需要多次运行“npm update”。

+1

这就是我的想法,很高兴它不只是我... – dandavis 2014-10-01 18:37:29

+1

我理解,是的,是的;然而,在现实世界中,如果你在'npm update'后面运行'npm outdated',你会发现事实并非如此。 – kornieff 2014-10-01 18:39:05