从某个配置文件中获取所需的版本号(我认为可以将其作为注释放在karma.conf.js中)
检查npm全局存储库中是否安装了定义的Karma运行程序版本
如果未安装或安装的版本较旧,则选择并安装正确的版本
运行它:
karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run
从某个配置文件中获取所需的版本号(我认为可以将其作为注释放在karma.conf.js中)
检查npm全局存储库中是否安装了定义的Karma运行程序版本
如果未安装或安装的版本较旧,则选择并安装正确的版本
运行它:karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run
检查项目中是否有任何旧模块:
npm outdated
'outdated' 命令会检查 package.json 中定义的每个模块,看是否在 NPM 注册表中存在更新版本。例如,假设当前项目中位于 node_modules 中的 xml2js 0.2.6 版本已过期,因为存在更新版本(0.2.7),则您将看到:xml2js@0.2.7 node_modules/xml2js current=0.2.6
如果您确定这是需要的,可以使用update命令更新所有依赖项:
npm update
或者,要更新单个依赖项,例如 xml2js
:
npm update xml2js
要更新 package.json
的版本号,请添加 --save
标记:
npm update --save
npm update
,特别是使用 npm update -g
... 它并不像大多数人期望的那样做!请参见:https://github.com/npm/npm/issues/6247 和 https://gist.github.com/othiym23/4ac31155da23962afd0e - jbandinpm -g update
命令又可以安全地使用了。详情请参见:https://github.com/npm/npm/issues/6247#issuecomment-92182814 - Chuck Le Buttnpm update
命令,结果导致所有代码都出问题了;幸运的是,在这之前我已经备份了我的文件。 - Armandnpm outdated
会识别需要更新的包,npm update <package name>
可以用来更新每个包。但是在npm@5.0.0之前,npm update <package name>
不会更新package.json中的版本,这是一个问题。
最佳的工作流程是:
npm outdated
识别过时的包npm update
安装每个包的最新版本查看npm-check-updates
以帮助完成这个工作流程。
npm i npm-check-updates -g
安装npm-check-updatesnpm-check-updates
列出过期的软件包(与运行npm outdated
基本相同)npm-check-updates -u
更新package.json中的所有版本(这是魔法酱)npm update
,根据更新后的package.json安装新版本的软件包或者更简单地使用npx
,这样您就不必全局安装任何东西:
npx npm-check-updates -u
npm install
npm outdated
会显示所有的包,包括其他包里面的包,但是这些包不会通过这个命令更新,所以它们将一直显示为过期状态。因此,最好使用 npm-check-updates
(正如你之前建议的那样),它只会显示 package.json
中的主要包,这更加相关。 - davidhqnpm update --save package_name
将最新的更改保存到package.json文件中。 - trungk18npm-check-updates
根据 semver
进行主要更新,这可能会导致破坏性更改,而 npm update
仅进行安全的次要和补丁更新。请参阅:https://dev59.com/5lUM5IYBdhLWcg3wY_e2#48917961 - João Pimentel Ferreira只需要一步:
$ npm i -g npm-check-updates && ncu -u && npm i
就这样。package.json中的所有包版本将是最新的major versions。
编辑:
这里发生了什么?
安装一个能为你检查更新的包。
使用该包升级package.json中的所有包版本(-u代表--updateAll)。
安装所有新版本的包。
ncu
表示 Node Check Updates,而 -a
是“升级所有 (upgradeAll)”选项。您可以在此处找到所有选项:https://www.npmjs.com/package/npm-check-updates - Arian Acostanpx -p npm-check-updates ncu -u
进行更新。 - entozoonnpm-check-updates
根据 semver
进行主要更新,这可能会导致破坏性变化。请谨慎使用:https://dev59.com/5lUM5IYBdhLWcg3wY_e2#48917961 - João Pimentel Ferreira更新单个本地包的方法如下:
首先通过以下命令找出您过时的包:
npm outdated
然后手动更新要更新的包或者单个包,命令如下:
npm update --save <package_name>
这样,就不需要手动更新 package.json
文件。
请注意,上述命令将把您的包更新到最新版本。
如果您在 package.json
文件中指定了版本号,并执行以下命令:
npm update <package_name>
在这种情况下,您将获得与您在 package.json
文件中指定的版本相对应的下一个稳定版本(期望版本)。
使用 npm list <package_name>
命令可以查找您本地包的当前版本。
不需要安装其他软件,只需运行以下命令即可检查过时的npm包并更新:
npm install $(npm outdated | cut -d' ' -f 1 | sed '1d' | xargs -I '$' echo '$@latest' | xargs echo)
使用以下命令检查您的节点模块是否过时或存在漏洞。
npm audit
如果发现任何漏洞,请使用以下命令修复所有问题。
npm audit fix
如果它对您不起作用,请尝试
npm audit fix -f
,此命令将几乎解决所有漏洞。由于一些依赖项或devDependencies已锁定在 package-lock.json 文件中,因此我们使用-f
标志来强制更新它们。
如果您不想使用强制审核修复,则可以通过在 package-lock.json 和 package.json 文件中更改它们来手动修复依赖版本。然后运行
npm update && npm upgrade
npm audit fix --force
。现在比之前有更多的漏洞。我可以再次运行它,但是它不会改变。现在怎么办? - Thomas Weller@version
语法来定义要安装的特定版本。npm install -g karma@0.9.2
将确保只安装0.9.2版,如果已经存在,则不会重新安装。npm install && npm test
时,将安装在我的package.json中定义的karma版本,并在运行test
脚本时使用该karma版本(安装在node_modules/.bin/karma)。{
"name": "myApp",
"main": "app.js",
"scripts": {
"test": "karma test/*",
},
"dependencies": {...},
"devDependencies": {
"karma": "0.9.2"
}
}
test
脚本里面有什么内容?你能否给我一些提示,如何使用脚本进行安装? - iLemmingnpm test
命令时运行的命令。npm 文档在这里非常好:https://npmjs.org/doc/scripts.html。 - addisonjnpm update <package name>
package.json
文件,我们不需要手动更新最新版本,然后使用npm update <package name>
。您仍然可以使用旧的行为。npm update --no-save
(参考资料)
npm@7.21.1
,但它没有自动更新我的 package.json
。运行 npm update <package name> --save
也没有帮助! - Farzan
npm upgrade
... 我不知道什么是 "Team City",但对于其他只使用 Node.js 的人来说,你可以运行npm upgrade
。 - undefined