npm安装错误:rollbackFailedOptional

110
当我尝试使用npm install安装新的包时,它显示了以下错误信息:

rollbackFailedOptional: verb npm-session 585aaecfe5f9a82


node --version
8.4.0

npm --version
5.3.0

1
我也遇到了同样的错误。你找到解决方法了吗? - Anil
1
这很可能是由于您公司的防火墙。请使用非公司互联网连接,或尝试设置由公司管理员提供的代理以访问NPM仓库服务器。 - Prometheus
安装时请确保 Terminal 处于聚焦状态。在我的情况下,我总是试图将焦点放在浏览器上,让安装程序自行处理,这样会使终端失去了焦点。但这并不起作用。在阅读了此主题的建议之后,https://stackoverflow.com/questions/62499501/npm-install-error-rollbackfailedoptional-verb-npm-session-a0d68-for-command-np 它起作用了。我基本上必须等到第一个进度条完成后才能关注其他窗口,然后下载才成功。不确定出了什么问题,但它运行得非常好。 - iheathers
这也可能发生在使用错误的包名称时,例如 npm install react-native-picker/picker 而不是 npm install @react-native-picker/picker - Eliott Paris
32个回答

0
我遇到了类似的问题,但在我的情况下,除了一个包之外,一切都正常安装。在那种情况下,是因为我正在从分支安装一个包,像这样:github:[user]/[repo]#[branch]。事实证明,如果你将其更改为git+https://github.com/[user]/[repo].git#[branch],它就可以正常工作。
令人特别沮丧的是,即使你使用--loglevel verbose,它也只是卡住,不告诉你它正在尝试做什么。看起来,verbose级别应该告诉我它即将要做什么,然后告诉我它已经完成了,这样我就知道它卡在哪个步骤上了。

0

尝试使用此处提供的所有命令来解决问题https://dev59.com/5FYO5IYBdhLWcg3wU_6M#54173142 如果问题仍然存在,请执行以下步骤

完全卸载nodejs,查看此答案以了解如何完全卸载nodejs https://dev59.com/JWIj5IYBdhLWcg3wCg7X#20711410

从官网下载更新的nodejs安装程序 在任何驱动器上安装它,但不要安装在先前安装的驱动器上,例如,如果您已在C驱动器上安装,则在D、S、G驱动器上安装 运行npm命令,它将完全正常工作


0
在一些罕见的情况下,检查项目是否可以使用常规的npm命令构建。我遇到了一个配置为使用bower的项目,因此bower install <github_url>有效,而npm install <github_url>在所有平台上都会给出那个无用的加密错误消息...

0

解决方案: npm配置中“proxy”和“https-proxy”键的默认值为NULL。经过更多的研究和开发后,我尝试将代理设置值设置为上述键(此解决方案适用于我的情况)。

此外,相同的代理设置需要应用于IE浏览器Internet设置>>设置>>LAN设置。

结论: 在企业/某些环境中,代理是一种必要的设置,否则npm安装将无法工作。

GitHub上的问题:https://github.com/SharePoint/sp-dev-docs/issues/3266

您可以参考博客获取详细信息 https://blogs2share.blogspot.com/2019/01/spfx-environment-setup-error.html


0

我的问题是由于 McAfee 防火墙引起的。 它被设置为询问模式,所以应该弹出提示框要求请求互联网连接,但它没有! 进入 McAfee 并(暂时!)禁用防火墙使我能够安装。


0
更新:2023年 如果所有上述解决方案都无法解决问题......请尝试在package.json中添加软件包名称和版本,然后从基本目录运行。
npm install

我知道这不是一个解决方案,而只是一个快速修复,我也在寻找一个永久的解决方案!


0

你好,

对于使用yarn包的人。只需进入您遇到此问题的项目文件夹。假设项目文件夹名称为chatApp:

cd chatApp

如果你已经执行了 yarn 或者 yarn install,那么请删除 node_modules 文件夹并运行下面的命令。如果你还没有执行 yarn install,请只运行下面的命令:

yarn cache clean

一旦Yarn成功清理了缓存,请运行以下命令:

yarn config set registry https://registry.npmjs.org/

就是这样,这应该修复了问题 ✔️。


0

在找到解决方法之前,我花了一些时间来解决这个问题。
我使用的是High Sierra (10.13.6)操作系统。
我多次卸载和重新安装node和nvm - 使用installer.pkgHomeBrew以及命令行。在我看来,命令行效果最好。

我按照以下步骤进行操作:
1. 运行npm config ls -l
2. 检查globalconfig的值是否为$<installpath>/.nvm/versions/node/v12.16.3/etc/npmrc,但当我尝试在终端中访问此路径时,它给出了No such file or directory的错误提示。
所以我
3. 创建了etc文件夹,创建了npmrc文件,并在其中添加了这一行。

registry = "https://registry.npmjs.org/"


我在$HOME中没有~/.npmrc文件

然后
4. 我重新运行了npm install命令。


请注意,这仍然会抛出rollbackFailedOptional: verb npm-session错误,但这次它完成了,尽管有不同的错误。 您可以尝试这些步骤,看看是否有效。

对于那些好奇的人,它抛出了一个Response timeout while trying to fetch https://registry.npmjs.org/<package> (over 30000ms)错误,所以我将timeout = "60000"添加到/etc/npmrc文件中(在另一个Stackoverflow线程中找到),然后再次尝试。这对我有用。

希望这能帮到你!


-1

针对Windows系统: 重新运行安装程序并选择“修复”安装

对我有效


-1

尝试这个:

删除文件夹中的所有文件:%APPDATA%\npm-cache\_locks


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接