GitHub Actions环境中NPM无法安装discord.js-commando GitHub源依赖问题
错误根因
报错是因为GitHub Actions运行环境没有配置可访问GitHub的SSH密钥,你在package.json中声明的discord.js-commando依赖使用github:discordjs/Commando格式,npm拉取时默认走SSH协议,公共仓库的SSH拉取也会触发身份校验,因此返回权限拒绝错误。
解决方案
你可以任选以下一种方式修复:
- 修改
package.json依赖声明,将SSH拉取改为HTTPS拉取,无需额外配置Actions就能直接运行:
找到dependencies下的discord.js-commando字段,修改为:
该修改不会影响本地开发,本地环境不管配置的是SSH还是HTTPS的GitHub访问权限,都能正常拉取该依赖。"discord.js-commando": "https://github.com/discordjs/Commando.git" - 不修改
package.json的前提下,在GitHub Actions工作流配置文件的依赖安装步骤前,添加Git规则强制将SSH地址重写为HTTPS:
配置完成后重新运行工作流即可正常安装依赖。- name: 配置Git拉取规则 run: git config --global url."https://github.com/".insteadOf ssh://git@github.com/
内容的提问来源于stack exchange,提问作者Krish Dev DB
相关产品推荐
相关产品推荐

