Mik*_* B. 6 dependency-management node.js npm node-modules package.json
在我使用Node.js环境的过程中,我遇到了Node.js模块的版本维护问题.我想确保所有内部Node.js模块都已更新.
许多现有手册仅关注如何更新Node.js模块,而不关注如何自动执行此类例程.
问题:
如何自动将所有Node.js模块更新到最新版本?
理想情况下,它应该是一些脚本,工作或任务.
小智 27
您只需要运行以下命令:
npm install -g npm-check-updates
ncu -u
npm update
npm install
说明:
要将所有软件包更新到新的主要版本,请全局安装 npm-check-updates 软件包。
这将升级 package.json 文件中依赖项和 devDependency 的所有版本,以便 npm 可以安装新的主要版本。
您现在已准备好运行更新。
现在安装更新的软件包。如果已经存在一些冲突的包,有时需要使用--force
标志。
参考:
或者更简单地使用 npx 它变成两个命令,并且您不安装任何全局包:
npx npm-check-updates -u
npm install
Run Code Online (Sandbox Code Playgroud)
Mik*_* B. 19
cd C:\Program Files\nodejsnpm i npm@latestcd C:\Program Files\nodejs\node_modules\npmnpm i %MODULE_NAME%@latestnpm i npm-check@latest -gnpm-check -unpm-check -u -gnpm update --depth 9999 --devnpm update --depth 9999 --dev -gnpm cache clear --force{
"_cmd-update-all-modules": "npm run update-all-modules",
"scripts": {
"create-global-node-modules-folder": "if not exist \"%appdata%\\npm\\node_modules\" mkdir %appdata%\\npm\\node_modules",
"npm-i-g": "npm i npm@latest -g",
"npm-check-i-g": "npm i npm-check@latest -g",
"eslint-i-g": "npm i eslint@latest -g",
"stylelint-i-g": "npm i stylelint@latest -g",
"npm-check-u-l": "npm-check \"C:\\Program Files\\nodejs\\node_modules\\npm\" -y",
"npm-check-u-g": "npm-check \"C:\\Program Files\\nodejs\\node_modules\\npm\" -y -g",
"npm-deep-update-l": "npm update --depth 9999 --dev",
"npm-deep-update-g": "npm update --depth 9999 --dev -g",
"npm-cache-clear": "npm cache clear --force",
"update-all-modules": "npm run create-global-node-modules-folder && npm run npm-i-g && npm run npm-check-i-g && npm run eslint-i-g && npm run stylelint-i-g && npm run npm-check-u-l && npm run npm-check-u-g && npm run npm-deep-update-l && npm run npm-deep-update-g && npm run npm-cache-clear"
}
}
Run Code Online (Sandbox Code Playgroud)
scripts部分中安装的所有所需模块npm run update-all-modules这两种方法都允许您将所有Node.js模块更新到最新版本,无论它在本地还是全局安装.
笔记:
_cmd-update-all-modulesproperty 的值cd C:\Program Files\nodejs 由于NPM 6.xx不支持新版本的LRU Cache,因此是必需的