2017-09-02 216 views
7

當我嘗試npm install新的軟件包它表明我這個錯誤:NPM安裝錯誤:rollbackFailedOptional

rollbackFailedOptional: verb npm-session 585aaecfe5f9a82

nodejs-版本:

V8.4.0

NPM -version:

5.3.0

+0

我也越來越相同的錯誤。你有沒有找到解決方案? – Anil

回答

0

我嘗試了以下選項來解決這個問題,它工作。

  1. 卸載的Node.js版本8
  2. 安裝Node.js的版本6.11.4
  3. 使用registry option用命令來安裝任何軟件包一起。

例如要安裝express我用下面的命令。

npm install express --registry http://registry.npmjs.org/ 

npm install express -g --registry http://registry.npmjs.org/ 

如果你想在任何特定的文件夾在本地安裝,然後使用下面的命令。下面的命令將在路徑C:\Sample\Example1上安裝快速。

C:\Sample1\Example1> npm install /Sample/Example1 express --registry http://registry.npmjs.org/ 

注:如果你是在一個特定的位置在本地安裝,然後第一個進入該目錄使用命令,然後運行上面的命令。如果您不在該目錄內,並且僅給出命令中不適用的路徑。

如果你得到package.json缺失錯誤然後在本地

C:\Sample\Example1> npm init 

安裝上面的命令包將創建package.json文件之前以下命令來運行。無需提供任何數據。只需按回車。

注意:如果您在防火牆後面,則可能需要設置代理。

3

試試這個

npm config rm proxy 
npm config rm https-proxy 
1

的原因,這可能是您的current NPM registry。嘗試檢查.npmrc file。這些都可以在不同的位置:

  • 每個項目配置文件(/path/to/my/project/.npmrc
  • 每個用戶的配置文件(~/.npmrc
  • 全局配置文件($PREFIX/etc/npmrc
  • NPM內置的配置文件(/path/to/npm/npmrc

在這些有可能是這樣的

registry=https://mycustomregistry.example.org 

這將優先於默認的(http://registry.npmjs.org/)。您可以在文件中刪除這一行,或者使用類似的是,默認的註冊表:

npm <command> --registry http://registry.npmjs.org/ 
0

試試這個:

刪除文件夾中的所有文件:%APPDATA%\ NPM-緩存\ _locks

0

喜我也有新的反應,我也面臨這個問題,經過了這麼多麻煩,我發現的解決方案:

NPM配置組註冊表http://registry.npmjs.org/

:只要在命令提示符或終端運行

這將解決您的問題。 參考鏈接:http://blog.csdn.net/zhalcie2011/article/details/78726679

+2

一個解決方案的鏈接是值得歡迎的,但請確保你的答案沒有它是有用的:[添加背景周圍的鏈接](// meta.stackexchange.com/a/8259),以便其他用戶將有一些想法是什麼爲什麼它的存在,然後引用你鏈接到的情況下,目標頁面是不可用的頁面最相關的部分。 [僅僅是一個鏈接的答案可能會被刪除。](// stackoverflow.com/help/deleted-answers) – GrumpyCrouton

0

在我的情況下,我不得不直接編輯.npmrc並手動添加代理設置。

proxy=http://yourorganizationproxy.com:8080 
https-proxy=http://yourorganizationproxy.com:8080 

希望這可以幫助別人。