2016-12-06 547 views
9

目前,如果我運行npm install,它會安裝已安裝軟件包的更新版本。我如何安裝package.json文件中指定的確切版本?npm安裝package.json中指定的確切軟件包版本

+1

你是怎麼在'package.json'中指定版本的?有一個固定版本的修改器。 – Sirko

+1

我的不好,'package.json'版本指定爲'^ version'。我只是假設如何版本。將刪除'^'修飾符。謝謝! – suheb

回答

14

該行爲實際上是由指定package.json中的版本的行爲驅動的。如果版本號看起來像「1.0.0」,沒有任何其他符號,應該安裝確切版本(1.0.0)。

那麼你可以做的只是修改package.json然後運行npm install。確保在清除node_modules目錄之前執行此操作。

https://docs.npmjs.com/files/package.json#dependencies

+2

感謝您的好解釋。 'package.json'使用'^'修飾符。 – suheb

+2

請注意,所有子依賴仍然存在一個問題。即使您爲直接依賴關係指定嚴格版本,也不能保證這些版本在發佈時不會觸發新的安裝。 –

1

默認情況下使用NPM安裝軟件包^這意味着在相同的主要範圍內的任何版本,您可以通過使用--save-確切

// npm 
npm install --save --save-exact react 

// yarn 
yarn add --exact react 

我創建了一個博客帖子切換這一行爲關於這個如果有人在未來尋找這個。

https://www.dalejefferson.com/blog/how-to-save-exact-npm-package-versions/