You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NPM 8下本地安装Angular私有包触发GitHub验证问题求助

问题描述
  • 环境升级:将Angular应用从Node 14(搭配NPM 6)升级至Node 16(搭配NPM 8)
  • 本地包安装流程:将内部带作用域的私有包构建到dist/my-private-package-name目录,执行npm install dist/my-private-package-name安装本地构建包
  • 异常情况:NPM 6中正常安装无需登录,NPM 8下强制要求登录GitHub,终端报错如下:
npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/dist/my-private-package-name.git
npm ERR! git@github.com: 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!     /Users/cn188854/.npm/_logs/2023-07-06T01_30_36_497Z-debug.log
  • 补充:公司使用私有仓库存储包,无GitHub账号
解决方案

这是NPM 8对本地路径解析规则调整导致的问题,以下是可行的解决方法:

  • 用file:协议前缀强制识别本地路径:执行安装命令时明确加上file:前缀,避免NPM误将本地路径解析为Git仓库地址。命令示例:
    npm install file:./dist/my-private-package-name
    
    如果在package.json的依赖中配置,同样需要加上前缀:
    "dependencies": {
      "@your-scope/my-private-package-name": "file:./dist/my-private-package-name"
    }
    
  • 修正私有包的package.json配置:检查本地构建包的package.json中repository字段,若存在错误的GitHub仓库地址,直接删除或替换为公司私有仓库地址,防止NPM8根据该字段去远程拉取。
  • 清除NPM缓存:执行缓存清理命令,排除旧缓存的干扰:
    npm cache clean --force
    
  • 确认路径有效性:确保执行npm install时的工作目录正确,dist/my-private-package-name是相对当前目录的有效路径,也可使用绝对路径避免歧义。

内容的提问来源于stack exchange,提问作者ineedtoknow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 08:35:18