將所有 Node.js 依賴包更新到最新版本


當使用  npm install <packagename>  安裝軟件包時,該軟件包最新的可用版本會被下載並放入 node_modules 文件夾中,並且還會將相應的條目添加到當前文件夾中存在的 package.json 和 package-lock.json 文件中。

npm 會核計依賴,並安裝這些依賴最新的可用版本。

假設要安裝 cowsay,這是一個很酷的命令行工具,可以讓母牛說話。

當  npm install cowsay  時,此條目會被添加到 package.json 文件中:

{
  "dependencies": {
    "cowsay": "^1.3.1"
  }
}

以下是 package-lock.json 的片段,為方便查看,在其中刪除了嵌套的依賴:

{
  "requires": true,
  "lockfileVersion": 1,
  "dependencies": {
    "cowsay": {
      "version": "1.3.1",
      "resolved": "https://registry.npmjs.org/cowsay/-/cowsay-1.3.1.tgz",
      "integrity": "sha512-3PVFe6FePVtPj1HTeLin9v8WyLl+VmM1l1H/5P+BTTDkMAjufp+0F9eLjzRnOHzVAYeIYFF5po5NjRrgefnRMQ==",
      "requires": {
        "get-stdin": "^5.0.1",
        "optimist": "~0.6.1",
        "string-width": "~2.1.1",
        "strip-eof": "^1.0.0"
      }
    }
  }
}

現在,這兩個文件告訴我們,已安裝了 cowsay 的 1.3.1 版本,並且更新的規則是 ^1.3.1(這對於 npm 版本控制規則意味着 npm 可以更新到補丁版本和次版本:即 1.3.21.4.0、依此類推)。

如果有新的次版本或補丁版本,並且輸入了 npm update,則已安裝的版本會被更新,並且 package-lock.json 文件會被新版本填充。

package.json 則保持不變。

若要發覺軟件包的新版本,則運行  npm outdated 

以下是一個倉庫中一些過時的軟件包的列表,該倉庫已很長時間沒有更新:

 

這些更新中有些是主版本。 運行 npm update 不會更新那些版本。 主版本永遠不會被這種方式更新,因為它們(根據定義)會引入重大的更改,npm 希望為你減少麻煩。

若要將所有軟件包更新到新的主版本,則全局地安裝 npm-check-updates 軟件包:

npm install -g npm-check-updates

然后運行:

ncu -u

這會升級 package.json 文件的 dependencies 和 devDependencies 中的所有版本,以便 npm 可以安裝新的主版本。

現在可以運行更新了:

npm update

如果只是下載了項目還沒有 node_modules 依賴包,並且想先安裝新的版本,則運行:

npm install

原文地址:http://nodejs.cn/learn/update-all-the-nodejs-dependencies-to-their-latest-version


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM