node.js - 如何让 npm v5 安装我刚刚在 package.json 中手动更新的依赖项?

标签 node.js npm package.json

在我的node.js项目中,我曾经更改package.json文件中依赖项的版本号,然后运行npm installnpm update来安装配置的版本。

但是,由于我使用的是 npm v5,这似乎不再起作用 - 安装或更新实际上都不会安装更新的版本。我正在运行 node.js v8.1.3 和 npm v5.0.4。

现在我越来越多地采用一种糟糕的解决方法来强制 npm 实际更新依赖项,只需删除并重新安装所有依赖项即可:

rm -rf node_modules package-lock.json && npm install

这感觉像是一个错误,而不是预期的行为。关于如何让 npm v5 “正常”工作有什么想法吗?

更新:

看起来 npm v5 确实有一个错误:npm update 没有更新 devDependency,请参阅 https://github.com/npm/npm/issues/16901

最佳答案

这是正确的 NPM@5.x 行为。您应该使用命令行来操作包。

案例1

您需要所有软件包的最新版本。在文件夹内使用npm update

案例2

您需要最新版本的软件包 package-onepackage-two。使用npm update package-one package-two

案例3 您需要包 package-onepackage-two 的特定版本。使用npm install package-one@a.b.c package-two@x.y.z

无论如何,该命令都会更新 package.jsonpackage-lock.json 文件和 node_module 文件夹。

关于node.js - 如何让 npm v5 安装我刚刚在 package.json 中手动更新的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891546/

相关文章:

node.js - 如何在node.js中使用 'limiter'

javascript - Node.Js 与 HttpAsync (asp.net)

angular - NPM:我们可以将 node_modules 存储到一个公共(public)文件夹中并在 Angular 项目中使用它吗?

node.js - 我应该依赖 package.json 还是对我的 Node 模块进行版本控制?

javascript - 使用同一实例建立多对多关系

ios - 使用 Firebase 函数将通知推送到群组

node.js - 中间 suv-patch Node.js 包版本

Laravel 9 为 vue 2.6.12 安装 vue 路由器

javascript - 错误!安装无法读取 mac 上的依赖项

javascript - 如何 npm 发布到 Nexus 组存储库?