簡體   English   中英

如何在 Windows 上升級 node.js?

[英]How to upgrade node.js on Windows?

我已經在 Windows 上運行了 Node.js v0.8.0。 我可以只運行最新的安裝程序將其升級到 v0.8.4 嗎? 恐怕它會破壞我機器上現有的第三方模塊。

是的,您只需安裝最新版本。 如果您已經在使用相同的主要版本(例如版本 0.8.x),通常您不應該有任何兼容性問題。 如果您擔心更改,您可以隨時查看每個版本的變更日志(變更日志的鏈接在 nodejs.org 的 node.js 下載頁面上)。 這應該告訴您任何重大變化(即 API 變化等)。

作為記錄,我剛剛完成了這個過程,即使你升級到另一個主要版本也是無痛的。

我已經從 0.8 移動到 0.10,使用 .msi 包,覆蓋我系統上安裝的那個。 軟件包問題全部通過npm update -g修復。 工作起來很有魅力。

萬一它不起作用:

npm cache clean通常可以解決問題。 一旦緩存為空,再次運行npm update -g即可。

萬一你真的遇到麻煩:

刪除全局安裝的模塊,然后重新安裝它們。 這是如何做:

  • 盤點你擁有的東西: npm list -g --depth=0列出所有頂級包,帶有版本號。 npm list -g --parseable --depth=0 > npm-global-modules.txt將它們寫入您的 cwd 中的文件。

    任何你自己沒有安裝的奇怪東西可能已經被另一個模塊安裝了(很少見,但我已經看到它發生了)。 從列表中刪除這些模塊。 同時刪除模塊“npm”。

  • 在編輯器中,通過將\n?[^\n]+[\\/] (正則表達式)替換為單個空格來格式化命令行的輸出。

    (我沒有讓它在管道中與findstr一起工作,因此往返於編輯器。當然,您也可以手動完成;)

  • 刪除所有模塊。 在 Windows 上,刪除(或重命名) %appdata%\npm目錄。 對於其他操作系統,請參閱全局刪除所有 npm 模塊的命令?

  • 使用npm install -g [your module list here]重新安裝模塊。 在執行之前不要忘記npm cache clean

我沒有在 Windows 上使用節點的經驗,但我剛剛在我的 Mac 上升級了節點和模塊,所以這只是一個一般性的答案:

如果你安裝 v0.8,你可能會破壞你現有的節點模塊,如果它們使用不推薦使用的函數等。問題是 npm 只在安裝模塊時檢查你的節點版本,而不是在運行時。

為了安全起見,您需要在您的機器上找到全局 node_modules 文件夾,將其備份到某個地方,然后刪除並重新安裝模塊。 您需要對正在使用的應用程序中的 node_modules 文件夾執行相同的操作。 (假設您有 package.json 文件,重新安裝這些文件應該很容易。)

實際上,我不認為我使用的任何模塊實際上是不兼容的。 祝你好運。

是的。 您可以通過在https://nodejs.org/en/運行最新 node.js 版本的安裝程序,將您的 node.js 版本升級到最新版本。 我將我的從 4.4.4 升級到運行安裝程序的 8.11.2。

除非你使用的模塊依賴於 0.8.0 中存在並由 0.8.4 修復的實際錯誤,否則你沒問題。 這兩個版本之間沒有 API 更改(節點團隊太聰明了,不會在次要版本中引入此類更改)。

目前正在升級到 4.4.*。 我只是習慣從 nodejs.org 網站安裝程序,升級后一切正常。

只需轉到nodejs 站點並下載它。 您可以毫不猶豫地直接安裝它。 如果您對早期版本有任何依賴,請檢查更改日志。

在 Windows 上安裝節點的最佳方法是使用nvm-windows ,因此您可以根據需要在版本之間快速切換。 這類似於在 linux 和 max 上安裝節點的最佳方式,即使用nvm

但是 Benjen 是對的(他怎么可能沒有他所有的球探經驗)你可以安裝不同版本的節點,你的版本會更新。 您的 npm 依賴項可能必須重新安裝,並且任何不受 npm 管理的擴展都可能需要重新編譯,但無論您如何更改節點版本,都是如此。

就去

nodejs.org

安裝最新的穩定版本(推薦給大多數用戶)

然后運行

npm install node

現在,你可以開始了

您甚至可以使用命令檢查 NodeJS 的版本

node --version

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM