问题
During my work with the Node.js environment, I faced the issue of version maintenance of Node.js modules. I would like to be sure that all internal Node.js modules are updated.
Many of existing manuals focus just on how to update Node.js modules, but not how to automate such routine.
The question:
How to update all Node.js modules automatically to the latest version?
Ideally, it should be some script, job, or task.
回答1:
To update all Node.js modules manually:
- Open console with administrative permissions
- Go to Node.js installation folder:
cd C:\Program Files\nodejs
- Update npm:
npm i npm@latest
- Go to modules folder:
cd C:\Program Files\nodejs\node_modules\npm
- Install all desired modules:
npm i %MODULE_NAME%@latest
- Install update manager:
npm i npm-check@latest -g
- Available updates for locally installed modules:
npm-check -u
- Available updates for globally installed modules:
npm-check -u -g
- Recursive update of all locally installed modules:
npm update --depth 9999 --dev
- Recursive update of all globally installed modules:
npm update --depth 9999 --dev -g
- Clear the cache:
npm cache clear --force
To update all Node.js modules automatically:
- Create a package.json:
{
"_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"
}
}
- Specify all desired modules to be installed in the
scripts
section - Assure that the folder with Node.js, e.g., C:\Program Files\nodejs, is added to the PATH through the Environment Variables
- Copy package.json to the folder with Node.js from step #3
- Open console with administrative permissions
- In the console, go to the folder with package.json from step #3
- Execute:
npm run update-all-modules
Both of these approaches allow you keeping all Node.js modules updated to the latest version, wherever it is installed locally or globally.
Notes:
- To run package.json use the value of
_cmd-update-all-modules
property - An installation of ESLint & Stylelint in the script is for the reference only
来源:https://stackoverflow.com/questions/34202617/how-to-update-all-node-js-modules-automatically