1
你能告訴我,爲什麼我們需要NPM 5
或以上,以避免語義版本的問題?換句話說,我們如何使用package-lock.json
文件來避免它?如果我們在同一個項目的所有開發機器上使用相同的package.json
文件,我們不能避免這個問題嗎?我在這裏有點困惑。希望你能給出一個反饋。語義版本的問題,NPM 5或以上
你能告訴我,爲什麼我們需要NPM 5
或以上,以避免語義版本的問題?換句話說,我們如何使用package-lock.json
文件來避免它?如果我們在同一個項目的所有開發機器上使用相同的package.json
文件,我們不能避免這個問題嗎?我在這裏有點困惑。希望你能給出一個反饋。語義版本的問題,NPM 5或以上
這樣就可以避免如果您package.json
文件列表包,比如:
"@angular/core": "4.2.6",
"@angular/forms": "4.2.6",
"@angular/http": "4.2.6",
,而不是
"@angular/core": "^4.2.6",
"@angular/forms": "^4.2.6",
"@angular/http": "~4.2.6",
通過消除package.json
NPM波浪或蓋(〜,^)符號將精確安裝所有機器上的相同版本。但是它可以安全地添加波浪號或帽標,因此您可以在不更新文件的情況下安裝軟件包的小版本更新。但是有時候這可能會導致問題,因爲軟件包開發人員在小版本中打包了一個重大更改。
package-lock.json
會做同樣的,它消除了波浪或帽標誌,標誌着要安裝包的具體版本。並且會在安裝軟件包時使鎖定文件優先獲取軟件包版本信息。
編輯:從Angular University在Youtube尼斯解釋。
非常感謝很好的解釋:) – Sampath