我有一個子節點在節點6.2.0上打破。它使用的是舊版本的subsubdependency。節點npm安裝,強制依賴依賴安裝特定版本
將我的package.json設置爲指向更新的依賴關係與npm install xxx
使用的依賴關係無關。
看來我必須在github中分配每個依賴項,將它們的package.json指向新的提交併再次嘗試npm install,這似乎是用戶體驗的遞歸惡夢。做什麼?
我有一個子節點在節點6.2.0上打破。它使用的是舊版本的subsubdependency。節點npm安裝,強制依賴依賴安裝特定版本
將我的package.json設置爲指向更新的依賴關係與npm install xxx
使用的依賴關係無關。
看來我必須在github中分配每個依賴項,將它們的package.json指向新的提交併再次嘗試npm install,這似乎是用戶體驗的遞歸惡夢。做什麼?
您可以使用npm shrinkwrap
命令,這將創建一個npm-shrinkwrap.json
文件,在該文件中可以修改運行npm install
時依賴項的依賴關係應使用的版本。
此外,在運行npm shrinkwrap
之前,您必須安裝所有依賴關係,否則最終將生成一個空的npm-shrinkwrap.json
文件。
This blog post談論它是如何工作的,這裏是docs爲npm shrinkwrap
。
其值得注意的是,在默認情況下npm shrinkwrap
將不包括任何devDependencies
因此,如果使用--save-dev
安裝了有問題的包,你需要明確地包括那些包
npm shrinkwrap --dev