React项目安装d3@5.5.0时出现git publickey权限报错如何解决?
你遇到的npm报错和安装d3@5.5.0本身没有关联,报错触发的原因是npm执行任意安装操作时,都会校验package.json内所有声明依赖的可获取性。你的devDependencies中react-d3-graph指向了fork的GitHub SSH仓库,npm拉取该依赖时SSH权限校验失败,才抛出对应错误。
解决步骤
- 临时安装d3@5.5.0的方案
执行带生产模式参数的安装命令跳过dev依赖校验:npm install d3@5.5.0 --production
该参数会让npm仅处理dependencies内的生产依赖,忽略devDependencies中的包,即可正常完成d3版本安装。 - 从根源解决SSH报错问题
二选一即可:- 若你fork的react-d3-graph是公开仓库,直接将package.json的devDependencies中对应地址替换为HTTPS格式,无需SSH校验:
"react-d3-graph": "https://github.com/<git_username>/react-d3-graph.git" - 若该仓库是私有仓库,先执行命令测试SSH连通性:
ssh -T git@github.com
若提示校验失败,执行ssh-add ~/.ssh/你的私钥文件名(默认私钥文件名为id_rsa)将本地密钥添加到ssh-agent后,再重新执行安装操作即可。
- 若你fork的react-d3-graph是公开仓库,直接将package.json的devDependencies中对应地址替换为HTTPS格式,无需SSH校验:
- 解决双版本d3共存问题
你可以使用npm别名功能避免两个版本d3的冲突,无需卸载现有d3@6.6.2:
执行命令npm install d3-v5@npm:d3@5.5.0,之后代码中需要用到d3@5.5.0的场景直接引入别名包即可:import * as d3 from 'd3-v5',原有基于d3@6.6.2开发的代码无需任何修改。 - 额外说明:你配置的.env文件参数和当前SSH权限报错无关联,无法解决该问题,无需调整相关配置。
内容的提问来源于stack exchange,提问作者JustThatGuy93
相关产品推荐
相关产品推荐

