2016-05-23 212 views
1

我有一個子節點在節點6.2.0上打破。它使用的是舊版本的subsubdependency。節點npm安裝,強制依賴依賴安裝特定版本

將我的package.json設置爲指向更新的依賴關係與npm install xxx使用的依賴關係無關。

看來我必須在github中分配每個依賴項,將它們的package.json指向新的提交併再次嘗試npm install,這似乎是用戶體驗的遞歸惡夢。做什麼?

回答

1

您可以使用npm shrinkwrap命令,這將創建一個npm-shrinkwrap.json文件,在該文件中可以修改運行npm install時依賴項的依賴關係應使用的版本。

此外,在運行npm shrinkwrap之前,您必須安裝所有依賴關係,否則最終將生成一個空的npm-shrinkwrap.json文件。

This blog post談論它是如何工作的,這裏是docsnpm shrinkwrap

其值得注意的是,在默認情況下npm shrinkwrap將不包括任何devDependencies因此,如果使用--save-dev安裝了有問題的包,你需要明確地包括那些包

npm shrinkwrap --dev