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

如何将NPM包发布至NPM官方仓库而非GitHub仓库?

解决npm包发布到官方仓库而非GitHub仓库的问题

问题背景

我创建了一个npm包,能成功发布到GitHub仓库,但无法发布到npm官方仓库。尝试过登录npm、执行npm publish --access=public,也移除了package.json中指向GitHub的publishConfig配置,甚至现在package.json里已经配置了指向官方仓库的publishConfig,但发布时输出仍显示Publishing to https://npm.pkg.github.com/。

排查与解决步骤

1. 检查并修正全局npm registry配置

运行以下命令查看当前全局registry:

npm config get registry

如果返回的不是https://registry.npmjs.org/,执行以下命令设置为官方仓库:

npm config set registry https://registry.npmjs.org/

2. 确认登录的是npm官方账号

先查看当前登录的账号:

npm whoami

如果显示的是GitHub用户名,说明登录的是GitHub的npm仓库,需要先退出再重新登录官方:

npm logout
npm login

执行npm login时,输入npm官方的账号、密码和邮箱。

3. 发布时强制指定官方registry

如果上述配置仍有问题,发布时直接指定官方仓库地址,绕过本地配置干扰:

npm publish --access=public --registry=https://registry.npmjs.org/

4. 检查项目本地的.npmrc文件

项目根目录下如果存在.npmrc文件,可能配置了scope级别的registry(比如针对@fyndreact组织),例如:

@fyndreact:registry=https://npm.pkg.github.com/

如果有这个配置,要么删除该行,要么修改为官方仓库地址:

@fyndreact:registry=https://registry.npmjs.org/

5. 验证package.json配置

你的package.json中publishConfig配置是正确的:

"publishConfig": {
  "registry": "https://registry.npmjs.org/",
  "access": "public"
}

确保没有其他地方的配置覆盖了这个设置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:41:11