解决npm install 报错 npm ERR code 128 Permission denied

本文介绍了解决 npm install 过程中遇到的 SSH 权限报错问题的方法。通过调整 Git 的 URL 重定向配置,成功解决了安装依赖时的权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一直从事java开发, 以前都是有专门的前端负责vue。最近前端没到位,外采的项目,自己在阿里云服务器打包,出现 npm install ssh权限报错 浪费了半天时间才解决,记录下共大家参考。
对外部公司心里一顿mmp

npm install 报错

错误如下

npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/*****.git
npm ERR! Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.

最终方案

为了节省时间,先上最终方案需按注释顺序执行,同时注意node版本,我的版本nodeV14.15.0,npm版本3.8.1,至于到时低网络问题还是insteadOf 配置问题未确定,因为按照git官网的配置说明,按照git config --global url."https://".insteadOf git:// 这样配置即可,但install还是有问题

# 1.先配置
[root] git config --global url."https://".insteadOf git://
# 2.然后install
# 3.如果提示raphael有问题,在执行下面这条命令
[root] git config --global url."git://".insteadOf https://
# 4.再次install
[root] git config --global --list 
http.sslverify=false
url.https://.insteadof=git://
url.git://.insteadof=https://
# 5.如果删除node_modules后install出现raphael安装失败时,删除配置可以用以下配置,重新install试一下
git config --global --remove-section url.https://

处理过程

初始git配置

[root@] git config --global --list 
http.sslverify=false

直接npm install

npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/adobe-webplatform/eve.git
npm ERR! Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
npm ERR! 
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.

出现权限错误,网上一顿搜索

网上方案

  1. 按照网上的方法,增加如下配置
git config --global url."https://".insteadOf git://
  1. 配置github ssh key 的方案,未尝试理论上是可以解决的。但是下载一个开源的库,还要配置key,不可接受。该方案直接pass,继续自虐解决

按照方案1,增加配置,出现新问题

npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/nhn/raphael.git
npm ERR! Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
npm ERR! 
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-01-19T05_50_10_082Z-debug-0.log

初步怀疑网络问题…… 从本地访问github网络没有问题,再次install
期间经历了 清缓存、install,整个过程循环n次还是未解决raphael.git问题 eve 的没有再出现。

查看git官网

怀疑git配置问题,查询git官网配置
git 官网配置项
在这里插入图片描述
google 的翻译是

任何以此值开头的 URL 都将被重写为以 <base> 开头。在某些站点服务于大量存储库并为它们提供多种访问方式的情况下,并且某些用户需要使用不同的访问方式,此功能允许人们指定任何等效的 URL,并让 Git 自动将 URL 重写为特定用户的最佳选择,即使对于网站上从未见过的存储库也是如此。当多个 insteadOf 字符串与给定 URL 匹配时,将使用最长的匹配项
请注意,任何协议限制都将应用于重写的 URL。如果重写更改 URL 以使用自定义协议或远程帮助程序,您可能需要调整protocol.*.allow配置以允许请求。特别是,您希望用于子模块的协议必须设置为always而不是默认的user. 见protocol.allow上面的描述。

配置的也没问题可就是没解决……

抱着试试的心态调整git配置

[root] git config --global url."git://".insteadOf https://
[root] git config --global --list 
http.sslverify=false
url.https://.insteadof=git://
url.git://.insteadof=https://

再次 install
结果很满意,解决了

对于git insteadOf 的配置,欢迎大家评论到底该怎么配置。

在项目中使用vue时,我们经常会使用npm来安装一些依赖模块。然而,在安装依赖模块时,有时候会遇到各种错误。下面是我在项目中安装依赖模块时遇到的问题以及解决办法。 1. 问题:安装依赖模块时提示“Error: EACCES: permission denied…”。 解决办法:这是因为缺少权限,可以使用sudo命令来提升权限,即使用“sudo npm install”进行安装。 2. 问题:安装依赖模块时提示“npm ERR! errno -4048”。 解决办法:这个错误一般是由于网络不稳定导致的。可以尝试更换网络环境或者更改npm的源,例如使用淘宝镜像源,即使用“npm install --registry=https://registry.npm.taobao.org”进行安装。 3. 问题:安装依赖模块时提示“npm ERR! code ENOENT”。 解决办法:这个错误可能是由于文件夹路径中存在空格或者非法字符导致的。可以尝试更改文件夹路径或者简化文件夹名称,然后再次进行安装。 4. 问题:安装依赖模块时提示“npm ERR! Maximum call stack size exceeded”。 解决办法:这是由于依赖模块之间存在循环依赖导致的,可以尝试使用npm的策略解决依赖问题,例如使用“npm install --force”进行安装。 5. 问题:安装依赖模块时提示“npm ERR! no such file or directory”。 解决办法:这个错误可能是由于文件路径错误或者文件不存在导致的。可以检查一下路径是否正确,或者确认所需的文件是否存在。 总结来说,安装依赖模块时遇到的错误有很多种,解决办法也有很多种。需要根据具体的错误信息进行分析和解决。同时,可以通过查看npm官方文档、搜索相关问题以及向社区求助等方式获取更多的帮助。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值