185

npm update似乎只是更新了 中的包dependencies,但是devDependencies.

现在您可以devDependencies通过运行安装npm install .,但这不适用于npm update .

有任何想法吗?

4

10 回答 10

167

要更新 package.json 除了本地模块,运行

npm update --save-dev

或者,使用相同的命令来节省时间

npm update -D

您可以通过以下方式查看更新的完整详细信息或与此相关的任何命令

npm help <cmd>
于 2014-01-16T23:08:57.680 回答
60

安装 npm-check-updates ( https://www.npmjs.org/package/npm-check-updates ),然后跳转到您的项目文件夹并运行:

npm-check-updates

并更新和保存对您的 package.json 文件的更改:

npm-check-updates -u
于 2014-03-14T19:32:18.833 回答
10

这些步骤对我有用:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install
于 2020-05-11T23:24:04.103 回答
6

当前版本的 NPM (1.3.11) 不再解决此问题。

更新适用于:npm update

于 2013-10-12T17:37:24.693 回答
4

如果您使用的是过时的 npm 版本,则可能是问题所在。所以在执行任何其他命令之前:

sudo npm install npm -g

或(如果以上不起作用):

sudo npm update npm -g

然后重新启动控制台(以使更改生效)。现在您可以检查新的npm --version,如果它是最新的,请执行:

npm update

或(如果您愿意):

npm update --save-dev
于 2015-05-13T11:05:07.083 回答
3

对我有用的是安装这样的单个开发依赖项

npm install react-test-renderer@15.6.1 --save --only=dev
于 2017-07-18T11:46:43.707 回答
2

我遇到了与 OP 相同的问题,但没有找到解决方案,所以我决定编写一个 Grunt 插件来自动更新我的 devDependencies..

它在 Github 上,我很想获得一些意见和合作,以使其成为 NPM 尚未提供的最佳工具。

基本上它会通过一个简单的 Grunt 任务自动更新你过时的开发依赖。

https://github.com/pgilad/grunt-dev-update

于 2013-11-09T14:35:48.540 回答
2
  1. npm outdated- 概述什么是过时的
  2. npm install -g npm-check-updates- 正如迈克尔正确指出的那样
  3. ncu -u- 它会自动更新所有依赖项(也dependencies就是,它当然不同于devDependencies) 中的版本package.json,而无需重新安装它。它只会改变“数字”package.json
  4. npm update- 实际依赖安装
  5. (可选,取决于场景)您可能需要使用标志--force,或(NPM v7 中的新功能)--legacy-peer-deps来完成该过程。您可以在npm install --legacy-peer-deps 到底做什么?什么时候推荐/什么是潜在的用例?
  6. (可选)您可以使用验证它,ncu -u并且对于正确更新的依赖项,您应该看到文本All dependencies match the latest package versions :)
于 2021-07-14T09:16:02.560 回答
1

强制更新的一种(缓慢)方法是删除 node_modules 目录,然后再执行npm install一次。

这是该npm update命令的已知错误,已在 的开发分支上修复npm,请参见此处: https ://github.com/isaacs/npm/pull/3863

它应该很快就会登陆最新的稳定版本的 npm。

于 2013-10-07T17:21:00.723 回答
0

我在 https://nodejs.dev/learn/update-all-the-nodejs-dependencies-to-their-latest-version 上找到了答案,这也适用于所有主要版本

npm install -g npm-check-updates
ncu -u
npm update

检查过时的包使用

npm outdated
于 2021-11-17T07:39:33.727 回答