如何自动更新所有Node.js模块?

时间:2015-12-10 13:02:01

标签: node.js npm node-modules dependency-management package.json

在我使用Node.js环境时,我遇到了Node.js模块的版本维护问题。我想确保所有内部Node.js模块都已更新。

许多现有手册只关注如何更新Node.js模块,而不是如何自动化这样的例程。

问题:
如何自动将所有Node.js模块更新到最新版本?
理想情况下,它应该是一些脚本,工作或任务。

1 个答案:

答案 0 :(得分:17)

手动更新所有Node.js模块:

  1. 使用 管理 权限
  2. 打开控制台
  3. 转到Node.js安装文件夹:cd C:\Program Files\nodejs
  4. 更新npm:npm i npm@latest
  5. 转到模块文件夹:cd C:\Program Files\nodejs\node_modules\npm
  6. 安装所有需要的模块:npm i %MODULE_NAME%@latest
  7. 安装更新管理器:npm i npm-check@latest -g
  8. 本地已安装模块的可用更新:npm-check -u -i lru-cache
  9. 全球已安装模块的可用更新:npm-check -u -g -i lru-cache
  10. 所有本地已安装模块的递归更新:npm update --depth 9999 --dev
  11. 所有全局已安装模块的递归更新:npm update --depth 9999 --dev -g
  12. 清除缓存:npm cache clear --force
  13. 自动更新所有Node.js模块:

    1. 创建一个package.json:
    2. {
          "_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 -i lru-cache",
              "npm-check-u-g": "npm-check \"C:\\Program Files\\nodejs\\node_modules\\npm\" -y -g -i lru-cache",
              "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"
          }
      }
      
      1. 指定要在scripts部分
      2. 中安装的所有所需模块
      3. 确保带有Node.js的文件夹(例如 C:\ Program Files \ nodejs )通过环境变量添加到 PATH
      4. 将package.json复制到第3步的Node.js文件夹
      5. 使用 管理 权限
      6. 打开控制台
      7. 在控制台中,转到步骤3中包含package.json的文件夹
      8. 执行:npm run update-all-modules
      9. 这两种方法都允许您将所有Node.js模块更新到最新版本,无论它在本地还是全局安装。

        注意:

        1. 要运行package.json,请使用_cmd-update-all-modules property
        2. 的值
        3. -i lru-cache是强制性的,因为NPM 6.x.x不支持新版本的LRU Cache
        4. 安装ESLint&脚本中的Stylelint仅供参考