2016-09-23 162 views
0

如何安裝npm軟件包的最新版本? '@latest'肯定不會獲取最新的 - 我認爲這意味着最新的穩定或什麼。如何安裝npm軟件包的最新版本

我已經使用了一段時間一劈,因爲我似乎無法找到任何這信息:

npm i [email protected] 

的「X」導致它失敗並轉儲所有可能的版本,我然後複製粘貼正確的一個而不是'X'。有點可笑。

我試過像'最新版'的第三方軟件包,但它們都未能獲得最新版本。

似乎沒有這樣做的官員。例如,在編寫最新版本時,extract-text-webpack-plugin2.0.0-beta.4。但是這樣做的:

npm i [email protected] 

將安裝「1.0.1」

我可以通過做

npm info pkg versions --json (without --json it will cut off when there are many versions) 

由於缺乏實際的工具,我猜的看到它的最新版本將是一些的grep工作。

+0

爲什麼在這個世界上這會被低估。如何回答一個非常明確的問題?即將離開這個受拖累的網站。 – cyberwombat

回答

2

版本1.0.1該軟件包中的「最新」版本 - 發佈到NPM註冊表至少(taggedlatest

來自cli/dist-tag的文檔。強調我的。

標籤可用於提供別名而不是版本號。例如,一個項目可能會選擇有多個開發流,併爲每個流使用不同的標籤,例如stable,beta,dev,canary。

默認情況下,npm使用最新的標記來標識包的當前版本,npm install(沒有任何@或@說明符)會安裝最新的標記。 通常情況下,項目僅將穩定版本的最新標籤使用,並將其他標籤用於不穩定版本,例如預發佈

默認情況下,除最新版本外,沒有標籤對npm本身有任何特殊意義。

如果你想要beta releases,那麼從GitHub安裝,或明確使用標籤。

latest隱含標籤,貼到包裹的任何發行版,這是與出版:

$ npm install webpack/extract-text-webpack-plugin 

這由reading the manual.

更明確提出非常明確顯式標籤(--tag)。

安裝[email protected]只是在註冊表中查找發行版標記爲latest。在這個包的情況下,這是版本1.0.1就是這樣。這裏沒有什麼特別的。 @latest不會將最新版本發佈到npm

作爲beta版列出的版本被標記爲不同。很明顯,他們都沒有被標記爲latest,所以試圖使用@latest得到一個是毫無意義的。

從註冊表:

'dist-tags': { latest: '1.0.1', beta: '2.0.0-beta.4' } 

再次使用GitHub上發佈的最前沿,或明確使用版本/標籤。

$ npm install [email protected] 

在這裏你去,你特別提出:

凝結到這個shell腳本,你是好去:

$ npm install [email protected]$(recent-version extract-text-webpack-plugin) 
+0

除了通過npm提供的最新版本是'2.0.0-beta.4',可以通過隱式指定該版本來安裝。正如你可以看到@latest不會獲取該版本。 npm將列出'2.0.0-beta.4'的事實清楚地表明它意識到版本。我覺得它讓它變得更加困難。 – cyberwombat

+0

儘管我最後的評論被刪除,但我要重申:您需要更仔細地閱讀手冊。我覺得像一個破記錄試圖向你解釋這一點。被標記爲「最新」並不意味着它是最近發佈的版本。 – Oka

+0

最後一個shell腳本就是我正在尋找的。謝謝。 – cyberwombat

0

使用npm update只要你安裝了軟件包:

npm update <package> 
+0

嗯..不是。首先問題是關於安裝,其次'更新'有完全相同的問題。它不會更新到最新版本。不過謝謝。 – cyberwombat

+0

@Yashua請給出您的確切錯誤。 – baranskistad

+0

沒有錯誤。詢問我是否忽略了文檔中的某些內容。據我所知,這似乎不可能。 – cyberwombat

相關問題