2017-05-11 59 views
1

如果我鍵入以下到我的電腦npm如何確定哪個版本和SemVer選項?

$ echo '{}' > package.json 
$ npm install pug --save 

再看看我的package.json,我會看到npm添加依賴我。

#File: package.json 
{ 
    "dependencies": { 
     "pug": "^2.0.0-rc.1" 
    } 
} 

甜!但是 - npm如何決定抓取版本2.0.0-rc.1npm決定如何使用^ SemVer版本修改器?

作爲npm的用戶,我可以配置或告訴它使用不同的SemVer修改器和/或下載不同的版本嗎? (兩個特定的版本和/或類似「最新的穩定」)

作爲npm包維護者,我可以指定npm的默認行爲應該比以外的東西「下載最新版本並戴上^有「

+1

https://github.com/npm/npm/blob/d46015256941ddfff1463338e3e2f8f77624a1ff/lib/install/save.js#L143 – SLaks

+1

https://docs.npmjs.com/misc/config#save-prefix – SLaks

+0

有用的文檔, +1,謝謝。然而,(除非我錯過了一些東西),他們沒有清楚地解決我的問題中的不同背景。 –

回答

2

npm採用公開的最新標籤,默認爲^,您可以使用save-prefix在本地進行更改。

要獲得特定版本,請在包名稱後使用@version,即npm install [email protected]。 作曲家的作品minimum-stability在npm世界中並不存在。

作爲維護者,你不能做任何事情,除了保持SemVer和writeing好的代碼:)

但在所有package.json只是一個JSON,你可以簡單地對其進行修改,而無需使用任何CLI命令,並定義無論你需要什麼。