Npm update “命令”;npm更新“;vs包“;npm检查更新“;
命令和包之间有什么区别?使用后者是否完全安全Npm update “命令”;npm更新“;vs包“;npm检查更新“;,npm-update,Npm Update,命令和包之间有什么区别?使用后者是否完全安全 似乎在执行npm update之后,并不是所有的包都被更新,因此它似乎是不完整的。许多其他人提到先使用previor命令,然后使用后者,但我仍然不明白后者做了什么,而previor没有做什么。npm check updates只会修改您的package.json文件。一旦运行了该命令,您就需要运行一个单独的npm安装来获取这些更改。另一方面,npm update将完成所有这一切,而不会让您有机会事先检查正在更新的内容 曾经有一个烦恼是,npm upd
似乎在执行
npm update
之后,并不是所有的包都被更新,因此它似乎是不完整的。许多其他人提到先使用previor命令,然后使用后者,但我仍然不明白后者做了什么,而previor没有做什么。npm check updates
只会修改您的package.json
文件。一旦运行了该命令,您就需要运行一个单独的npm安装来获取这些更改。另一方面,npm update
将完成所有这一切,而不会让您有机会事先检查正在更新的内容
曾经有一个烦恼是,npm update
没有更新package.json
文件,但从5.0.0开始就不是这样了。早在那个时候,它还研究了对很多人造成无穷无尽问题的包依赖性
两者之间的关键区别在于,您可以运行ncu
(npm check updates的别名)并且默认情况下,它不会更新您的包-只告诉您需要更新哪些包
例如,下面是我的一个遗留项目的输出。在这里,您可以看到一些grunt
包已经过时,主要是因为我不再从事这个项目,更喜欢在npm中编写构建脚本,并且没有时间更新旧的项目
λ ncu
Checking D:\Github\XQSF_Master\web\package.json
[====================] 10/10 100%
grunt ^1.0.3 → ^1.0.4
grunt-contrib-clean ^1.0.0 → ^2.0.0
grunt-contrib-cssmin ^2.2.1 → ^3.0.0
grunt-contrib-uglify ^3.2.1 → ^4.0.1
grunt-sass ~2.0.0 → ~3.0.2
Run ncu -u to upgrade package.json
没有对我的项目进行任何更改-它只是告诉我需要更新什么。这就是为什么我更喜欢npm检查更新
。默认情况下,它不会进行任何更改
如果您确实希望ncu进行更改,只需运行ncu-u
。这将更新您的包.json
,但是您仍然需要运行npm install
,才能将node\u modules
文件夹更新为新包。好吧,经过一些调查和大量错误信息后,我想我终于得到了它
npm check updates
将使用每个包的最新更新修改您的package.json
文件,而不考虑任何更新,这意味着您的项目可能会中断。一旦运行了npm检查更新
,您就需要运行一个单独的npm安装
,以获取对最新版本的更改
另一方面,npm update
根据文件package.json
中的设置将包更新为其最新版本
例如,依赖项中的主要版本(3位数版本中第一位数字的增加)所做的更改可能会破坏向后兼容性。如果在package.json
中使用插入符号^
设置该依赖项,则命令npm install
不会更新主要版本,而npm check updates
会更新。检查这5分钟的npm,因为它非常清晰。你是说ncu
现在只是提供信息吗?但是我得到的印象是,npm update
没有更新到最新版本,而ncu
更新到了最新版本。@JoãoPimentelFerreira。不,我不是。如果在没有任何参数的情况下运行它,那么它实际上不会对package.json
文件或node\u modules
文件夹进行更改。据我所知,这一直是默认行为。如果您通过ncu-u
,它将修改您的package.json文件(尽管您仍然需要为节点\u模块
文件夹运行npm install
,以获取新的软件包)。注:我编辑了我的答案,以提供更多关于这方面的信息。在第一段中,你说npm update
将完成“所有这些”。什么意思?npm更新
和ncu-u和&npm更新
之间有什么区别<代码>npm更新
是否不更改package.json?我仍然不明白。@JoãoPimentelFerreiranpm update
将更改您的包。json
和更新您的节点模块
文件夹。ncu-u
也将更改您的包。json
。那么区别是什么呢?npm更新会更新次要版本,但不会更新主要版本。这里解释如下: