2017-09-02 427 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 

希望这可以帮助别人。