npm依賴版本變動引起的問題


開發經常會遇到這樣的問題,同樣的代碼 別人可以運行 自己從git上拉取下來運行卻會報錯

 

 

遇到很多的都是npm依賴版本變動的問題

解決:版本鎖定

  • package.json中固定版本
  • npm+package-lock.json
  • npm+npm-shrinkwrap.json
  • yarn+yarn-lock.json

可以用yarn.lock文件鎖住版本,這樣每次新安裝 都是從yarn.lock鎖定的版本號中進行安裝 如果未鎖定,安裝會默認安裝最新版本 可能會與原有的版本沖突

yarn安裝 用yarn.lock 

npm安裝 package-lock.json(或npm-shrinkwrap.json npm5.0之前的方法)

 

npm包符號小解:

符號^:表示主版本固定的情況下,可更新最新版。例如:vuex: "^3.1.3",3.1.3及其以上的3.x.x都是滿足的。

符號~:表示次版本固定的情況下,可更新最新版。如:vuex: "~3.1.3",3.1.3及其以上的3.1.x都是滿足的。

無符號:無符號表示固定版本號,例如:vuex: "3.1.3",此時一定是安裝3.1.3版本。

舉例:
"^1.2.3": 大於等於 1.2.3 且小於 2.0.0版本
"^0.3.4": 大於等於 0.3.4 且小於 0.4.0版本
"^0.0.6": 大於等於 0.0.6 且小於 0.0.7版本

 

 

如果拉取的老代碼有一天無法運行 可以嘗試刪除node_modules重新安裝,但切記不要去除lock文件

偶爾也有node版本的問題 可以比對node版本 看是不是版本太低或太高的問題 然后安裝

 

 

 

詳細資料:https://my.oschina.net/u/3091008/blog/4613229


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM