2014-10-19 52 views
5

我正嘗試將npm更新爲最新版本,因爲我使用的是1.4.28。 使用:無法獲得最新版本的NPM工作

npm update -g npm 

我得到以下輸出:

[email protected] C:\Users\ck\AppData\Roaming\npm\node_modules\npm-check-updates\node_modules\npm 
[email protected] C:\Users\ck\AppData\Roaming\npm\node_modules\ember-cli\node_modules\npm 

,然後運行

npm -v 

我可以看到我仍在使用的1.4.28;我無法理解我嘗試更新後得到的輸出,因爲它談論的是1.3.26和2.1.5,但我已經安裝了1.4.28?

我在Windows上,我已經嘗試卸載並重新安裝節點;

+0

您更新的'npm'安裝是其他模塊的依賴關係 - 'npm-check-updates'和'ember-cli'。這些模塊可能會限制它們支持哪些版本的'npm'。 – 2014-10-19 17:20:28

+0

好的,謝謝你澄清這一點;但爲什麼npm update -g npm不會更新我使用的版本從1.4.28到2.1.0?從哪裏來的版本1.4.28? – 2014-10-19 17:21:57

+1

對於Windows,'npm'通常不放在全局['root'](https://www.npmjs.org/doc/cli/npm-root.html),它可以管理自己。它通常在'Program Files'下面。你可以用'npm -g root'和'gcm npm |來檢查選擇源'(PowerShell)。 – 2014-10-19 17:32:44

回答

1

最後能夠更新npm。有點不合作的傢伙呢!試圖安裝/更新名字第一npm install -g [email protected]然後npm install -g [email protected]管理級別控制檯/ Windows命令。

從1.4.28到2.1.7

很奇怪,但嘿它適合我!

+0

是第一次安裝-g * nom * @最新的故意或錯字。看起來像nom是真的,是服務器端的jQuery實現,但我懷疑你的意思是在這裏。 – 2015-01-17 16:07:57

10

從這個頁面:https://github.com/npm/npm/wiki/Troubleshooting

on windows: 
      Option 1: 
       edit your Windows installation's PATH to put C:\Users\<username>\AppDa\Roaming\npm before 
    C:\Program Files (x86)\nodejs. Remember that you'll need to restart cmd.exe (and potentially restart Windows) when you make changes to PATH or how npm is installed. 

      Option 2: remove both of before updating 
       C:\Program Files (x86)\nodejs\npm 
       C:\Program Files (x86)\nodejs\npm.cmd 

      Option 3: navigate to C:\Program Files (x86)\nodejs 
       with cmd.exe and then run the installation without -g: 
       npm install npm 

on linux: 
npm install -g [email protected] 
+0

對於Windows上的選項3 - 以管理員身份運行cmd。 – Acsisr 2015-03-02 12:13:05

+0

選項2爲我工作。謝謝! – Eduardo 2015-08-13 23:43:35

2

爲了安裝最新的NPM,你會遇到:

npm install -g [email protected] 

您還需要確保,如果你有多個npm安裝的命令,你正在使用最新的(而不是原來npm安裝node)。

試試這個:基於上面的命令你的發現

which -a npm 

,你可能需要調整您的PATH環境變量。

+0

這非常令人困惑,是否在npm內嵌入了npm的安裝,還是真的可以全局更新操作系統中npm的安裝?無論如何,我得到'/usr/local/lib/iojs-v3.3.1-linux-x64/bin/npm - > /usr/local/lib/iojs-v3.3.1-linux-x64/lib/node_modules/npm/ bin/npm-cli.js [email protected] /usr/local/lib/iojs-v3.3.1-linux-x64/lib/node_modules/npm '。也許它不適合安裝和升級io.js。這只是我嗎? :) – matanster 2015-09-16 11:44:24

+0

你在'$ PATH'中有/usr/local/lib/iojs-v3.3.1-linux-x64/bin嗎? – 2015-09-17 08:28:22

+0

沒有。 [我發佈了一個單獨的問題](http://stackoverflow.com/questions/32607923/is-io-js-hijacking-npms-global) – matanster 2015-09-17 10:26:17

0

在Windows上,您可能需要檢查您的用戶路徑和系統路徑。如果C:\Program Files\nodejs\;出現在系統路徑和C:\Users\<username>\AppData\Roaming\npm中,那麼npm將引用C:\Program Files\nodejs\;中的版本。這對我來說是個問題,通過將C:\Program Files\nodejs\;放在用戶路徑的末尾並將其從系統路徑中刪除來解決。不要忘記在更改路徑後重新啓動終端。儘管在幫助我發現問題方面很有幫助,但我的情況並沒有baaroz的解決方案。