我的公司github中的本地回购获取权限被拒绝错误,我可以成功克隆该公司,但NPM安装获取错误:
npm ERR! Error while executing:
npm ERR! C:\Program Files\Git\bin\git.EXE ls-remote -h -t git@<repo path and name>
npm ERR!
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!
npm ERR! exited with error code: 128
如果您试图在全局/本地安装任何依赖项,请确保在开始时使用@。例如:sudo npm i-g@vue/cli——正确。sudonpmi-gvue/cli——抛出上述错误。
你是说你的lib被发布到npm注册表,还是试图使用npm直接从github安装?这听起来像你试图做npm安装公司-org/repo-name
。如果是这样,那么你很可能会试图让npm从私人回购中退出。您可以克隆,因为您可能已经为git设置了一个SSH密钥,用于使用Github进行身份验证。
仔细检查SSH设置,然后在package.json中使用此语法:
"package-name": "git+ssh://git@github.com:<company-org>/<repo>.git"
(注意在公司组织之前使用冒号而不是斜杠)
我遇到了这个问题,无法解决,因为所有的解决方案都缺少一个重要的步骤,所以我将更详细地发布我的答案。
假设您已经生成ssh密钥并将其公钥添加到github帐户。另外,假设您使用的是Windows-10。
Windows上的npm安装
会导致很多问题,因为有ssh代理
s从两个不同的来源运行:
>
转到任务管理器并单击详细信息选项卡。
找ssh-agent.exe.
在完成上述步骤之后,您可以看到2个ssh代理。exe正在运行。在“用户名”列中,您可以看到一个用于系统(这是Windows提供的),另一个用于您的用户名(这是git)。现在,请关闭为npm安装而启动的所有ssh代理(直接从task manager)。
npm安装尝试使用的ssh代理来自git,但它与windows提供的ssh代理冲突。
可以使用start ssh-agent
启动Git ssh-agent,但是当您尝试使用命令ssh-add-k~将ssh密钥添加到ssh-agent时。ssh/id\u rsa
,它正在尝试访问ssh add。从Windows路径执行,但不选择ssh添加。来自git的exe。
解决方法是将git的ssh路径添加到系统的环境变量中,并将其添加到“%SYSTEMROOT%\System32\OpenSSH”之前,以便具有更高的优先级。
这只是为了访问ssh add才需要的。在成功构建npm后,您可以自由删除它(即使您想克隆更多repo并构建它们)。除非您想为不同的回购协议添加更多密钥。
注意:此路径不同于git安装期间添加的现有git/cmd路径,因此请确保它是在openSSh路径变量之前添加的,以获得更高的优先级。
请按照以下步骤解决您的问题:
Start ssh agent
来启动git ssh代理。不要使用ssh-agent
,因为它会启动Windows提供的ssh-agent
where-ssh-agent
和where-ssh-add
,以测试首选的ssh路径。(希望您现在看到2条路径,OpenSSH不应该出现在Git/bin/usr路径之前:)启动ssh代理
。(运行git ssh代理)ssh Add-k~/向ssh代理添加首选ssh密钥。ssh/id\u rsa
。(选择私钥)。(将密钥添加到git ssh代理,而不是Windows ssh代理)npm安装
注意:在此之后,每当再次看到相同的错误时,只需运行start ssh-agent
,然后运行npm-install
。
我希望它能工作,如果你不舒服,在成功的npm构建后,你甚至可以从env.变量中删除新添加的路径,因为它只需要一次(从git访问ssh-add),并且star-ssh-agent
不被访问从那条路。
编辑:如果您删除路径,它不会影响,但我建议不要删除路径,因为此路径还有许多其他有用的工具,如perl.exe,openssl.exe(不需要单独安装这些工具)。
我试图在MacOS10.12上安装sudoNPM-gappium。5. 我得到这个错误: 信息Chromedriver安装为平台“mac”和架构“64”安装Chromedriver版本“2.30” 信息Chromedriver安装打开临时文件以将Chromedriver\u mac64写入。。。 错误:EACCES:权限拒绝,mkdir “/usr/local/lib/node_modules/a
我试图运行一个本地Jenkins管道使用Jenkinsfile的nodejs应用程序使用节点:6-alpin图像(默认)使用build.sh脚本使用调用npm安装然后我得到了以下权限错误 npm ERR!错误:EACCES:权限被拒绝,mkdir'/. npm'npm ERR!在错误(本机)npm ERR!{错误:EACCES:权限被拒绝,mkdir'/. npm'npm ERR!在错误(本机)n
问题内容: 尝试安装npm模块时,出现奇怪的权限错误。我从头开始,因此我确定我确实可以访问,但是由于某些原因,它一直在抱怨错误: 堆栈错误:EACCES:权限被拒绝,mkdir’/ usr / lib / node_modules / joplin / node_modules / sqlite3 / build’ 我尝试重新启动计算机,并使用chmod 777 创建目录,但仍然无法正常工作。 编
命令:npm安装-gnpm@latest 结果: npm错误!代码EACCES npm ERR!系统调用重命名npm错误!路径/usr/local/lib/node_modules/。暂存/npm-3e479054/node_模块/字符串宽度npm错误!dest/usr/local/lib/node_modules/。暂存/字符串宽度-fa87d55b npm错误!错误-13 npm错误!错误:E
我已设法破坏了我的安装,每当我尝试使用安装包时,我都会收到以下错误消息: 未处理的拒绝错误:eAcces:权限被拒绝,打开“/users/marknorgate/.npm/_cacache/TMP/A449402d”