Npm - 在 1 个命令行中更新并保存 deps 和 depsDev?
Posted
技术标签:
【中文标题】Npm - 在 1 个命令行中更新并保存 deps 和 depsDev?【英文标题】:Npm - update and save both deps and depsDev in 1 command line? 【发布时间】:2017-03-23 00:13:30 【问题描述】:我想更新多个 npm 依赖并将它们保存到各自的 package.json 依赖槽中。
我的 package.json:
"dependencies":
"gulp": "^3.0.0"
,
"devDependencies":
"gulp-eslint": "^2.8.0"
所以我想跑:
$ npm update gulp gulp-eslint
没关系,但是如何分别为 gulp (dep) 和 gulp-eslint (devDep) 保存较新的版本?
我试过了:
$ npm update gulp gulp-eslint --save
但是 gulp-eslint 是 devDependency 实际上必须保存在那里,如何在 1 个命令行中完成所有这些操作?
【问题讨论】:
【参考方案1】:您还可以通过以下命令使用 Yarn,这是一个新的包管理器:
yarn upgrade
https://yarnpkg.com/en/docs/cli/upgrade
【讨论】:
如果他希望所有包都更新,而不仅仅是其中的几个,这将是一件好事。 即使是那些不应该更新的(例如,没有^)? 是的。我不确定,所以我刚刚通过在我的存储库上运行简单的测试来确认这一点。更新了没有^
或 ~
字符的事件包。
很高兴知道。谢谢【参考方案2】:
你可以查看npm-update的官方文档,注意根据你使用的npm版本有不同的规格。
从命令行你可以这样做:
$ npm update --save --dev
注意:如果您使用的是 Linux 或 Mac,请使用 sudo
。
【讨论】:
当您没有固定权限时,sudo 不应该仅用于全局变量吗?本地模块应该在没有 sudo 的情况下更新,也许我弄错了!? Ubuntu 是我的操作系统,我总是使用sudo
来处理 npm 包安装
我使用 Lubuntu(Ubuntu 的衍生版本),从不使用 sudo
。在某些情况下,--global
操作需要它;但在这些情况下,您应该修复 npm 权限。 docs.npmjs.com/getting-started/fixing-npm-permissions
是的,在 mac 上从未将 sudo 用于本地包,当您没有权限或没有修复它们时,sudo 用于全局;)以上是关于Npm - 在 1 个命令行中更新并保存 deps 和 depsDev?的主要内容,如果未能解决你的问题,请参考以下文章
npm install xxxx --legacy-peer-deps命令是什么?