如何在NPM中更新devDependencies?

时间:2012-04-09 03:29:33

标签: node.js npm

npm update似乎只是更新dependencies中的软件包,但是devDependencies呢。

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

有什么想法吗?

10 个答案:

答案 0 :(得分:129)

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

npm update --save-dev

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

npm update -D

您可以通过

查看更新的完整详细信息或任何相关命令
npm help <cmd>

答案 1 :(得分:44)

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

npm-check-updates

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

npm-check-updates -u

答案 2 :(得分:7)

当前版本的NPM(1.3.11)不再消除此问题。

更新可以正常使用:npm update

答案 3 :(得分:4)

这些步骤对我有用:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install

答案 4 :(得分:3)

&lt; p&gt;如果您使用的是过时的npm版本,则可能是问题所在。因此,在执行任何其他命令之前:&lt; / p&gt; &lt; pre&gt;&lt; code&gt; sudo npm install npm -g &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;或(如果以上不起作用):&lt; / p&gt; &lt; pre&gt;&lt; code&gt; sudo npm update npm -g &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;然后&lt; strong&gt;重新启动&lt; / strong&gt;控制台(为了使更改生效)。 现在,您可以检查新的&lt; code&gt; npm --version&lt; / code&gt;如果它是最新的执行:&lt; / p&gt; &lt; pre&gt;&lt; code&gt; npm update &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;或(如果您愿意):&lt; / p&gt; &lt; pre&gt;&lt; code&gt; npm update --save-dev &LT; /代码&GT;&LT; /预&GT;

答案 5 :(得分:2)

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

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

它应该很快落在最新的稳定版本的npm上。

答案 6 :(得分:2)

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

这是在Github上,我希望得到一些意见和合作,以使其成为NPM未提供的最佳工具。

基本上它会使用简单的Grunt任务自动更新过时的开发依赖项。

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

答案 7 :(得分:1)

在config.json文件中添加新的依赖项,

然后运行命令

npm update

有时需要使用sudo运行命令以获取管理员权限,然后使用。

sudo npm update

答案 8 :(得分:1)

对我来说有用的是安装像这样的个人开发依赖

class AddPolygonToNurse < ActiveRecord::Migration[5.1]
  def change
    add_column :nurses, :area, :st_polygon, :geographic => true
    add_column :nurses, :latlong, :st_point, :geographic => true
  end
end

答案 9 :(得分:0)

  1. npm outdated - 概述过时的内容
  2. npm install -g npm-check-updates - 正如迈克尔所指出的那样
  3. ncu -u - 它会自动更新 {{1} 中的所有依赖项(还有 dependencies,即它当然不同于 devDependencies)版本},还没有重新安装它。它只会改变 package.json
  4. 中的“数字”
  5. package.json - 实际的依赖安装
  6. (可选,视情况而定)您可能需要使用标志 npm update 或(NPM v7 中的新增功能)--force 来完成该过程。您可以在 What does npm install --legacy-peer-deps do exactly? When is it recommended / What's a potential use case?
  7. 上阅读这两个之间的区别
  8. (可选)您可以使用 --legacy-peer-deps 对其进行验证,对于正确更新的依赖项,您应该看到文本 ncu -u