目前在寫一個項目生成工具,前端 用的vue的nodejs 項目。我生成的項目其他的問題都沒有,但是package.json 里面的 name 和version 是根據當時的項目動態生成的,結果發現動態生成的 name ,version 修改后 npm install 無法執行,報錯:npm notice created a lockfile as package-lock.json. You should commit this file.npm WARN Invalid version: "1.0"npm WARN webapp No descriptionnpm WARN webapp No repository field.npm WARN webapp No README datanpm WARN webapp No license field.不改名字,不改版本是可以的,求大神指點一二{"name": "test","version": "1.0","private": true}
1 回答

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
package-lock.json
用于簽入源代碼管理。如果你使用npm5(npm install -g npm@latest
),你可以在命令行中看到以下加粗文字內容:created a lockfile as package-lock.json. You should commit this file.
由npm help package-lock.json
得來:
對于npm修改node_modules樹或package.json的任何操作,將自動生成package-lock.json。 它描述了生成的確切樹,以便后續安裝能夠生成相同的樹,而不管中間依賴性更新如何。
這個文件旨在被提交到源代碼庫,并提供各種用途:
描述一個依賴樹的單個表示,這樣就保證了成員、部署和持續集成能夠完全安裝相同的依賴項。
為用戶提供一個工具,使其能夠“穿越”node_modules的先前狀態,而無需提交目錄本身。
通過可讀的源代碼控制擴展來促進樹的更大可視性。
并優化安裝過程,允許npm跳過已安裝的軟件包重復的元數據解析。
關于package-lock.json
的一個關鍵細節是它不能被發布,并且如果在頂層包之外的任何地方被發現,它將被忽略。它與npm-shrinkwrap.json(5)
共享格式,它基本上是相同的文件,但允許發布。除非部署CLI工具或以其他方式使用發布過程來生產生產包,否則不建議這樣做。
如果package-lock.json
和npm-shrinkwrap.json
都存在于一個包的根目錄下,package-lock.json
將被完全忽略。
- 1 回答
- 0 關注
- 4401 瀏覽
添加回答
舉報
0/150
提交
取消