Answers:
除本地模块外,要更新package.json,请运行
npm update --save-dev
或者,使用同一命令来节省时间
npm update -D
您可以通过以下方式查看更新的完整详细信息或与此相关的任何命令
npm help <cmd>
npm update -D
不适用于我,它没有更新任何内容。
package.json
而是如何使npm update
devDependencies 更新时,为什么将此标记为正确答案?
npm update --save-dev
对我来说很好。使用节点v12.11.0
和npmv6.11.3
安装npm-check-updates(https://www.npmjs.org/package/npm-check-updates),然后跳入您的项目文件夹并运行:
npm-check-updates
并更新并保存对package.json文件的更改:
npm-check-updates -u
ncu
胜过npm-check-updates
保存键入内容。
-d
选项可用于devDependencies
如果您使用的是过时的npm版本,则可能是问题所在。因此,在执行任何其他命令之前:
sudo npm install npm -g
或(如果上述方法不起作用):
sudo npm update npm -g
然后重新启动控制台(以使更改生效)。现在,您可以检查新的npm --version
,如果是最新的,请执行:
npm update
或(如果您愿意):
npm update --save-dev
强制更新的一种(慢速)方法是删除node_modules目录,然后npm install
再次执行。
这是该npm update
命令的一个已知错误,已在的开发分支中进行了修复npm
,请参见此处:https :
//github.com/isaacs/npm/pull/3863
它应该很快就会安装在npm的最新稳定版本上。
package-lock.json
以使其起作用,否则它将仅安装该锁定文件中列出的版本。
我遇到了与OP相同的问题,但没有找到解决方案,因此我决定编写一个Grunt插件,该插件将自动更新我的devDependencies。
它在Github上,我很乐意得到一些意见和合作,以使其成为NPM尚未提供的最佳工具。
基本上,它将使用一个简单的Grunt Task自动更新您过时的开发依赖项。
npm install
和之间的这种不对称感到惊讶npm update
。我通过删除node_modules
目录然后npm install
再次运行来解决该问题,但是看来应该有更好的方法。