kax*_*993 20 javascript git github github-actions github-package-registry
我正在尝试在 GPR(Github 包注册表)上上传一个包。我登录成功:
npm login --registry=https://npm.pkg.github.com
Run Code Online (Sandbox Code Playgroud)
然后运行这些命令:
npm set registry https://npm.pkg.github.com/
npm publish
Run Code Online (Sandbox Code Playgroud)
返回此错误:
npm ERR! 404 Not Found - PUT https://npm.pkg.github.com/package-name
npm ERR! 404
npm ERR! 404 'package-name@version' is not in the npm registry.
Run Code Online (Sandbox Code Playgroud)
似乎它试图在 npm 注册表而不是 github 包注册表上上传包。我应该如何解决这个问题?
kax*_*993 25
有两种方法可以解决这个问题:
publishConfig选项package.json:"publishConfig": {
"registry":"https://npm.pkg.github.com/@OWNER"
},
Run Code Online (Sandbox Code Playgroud)
.npmrc使用以下内容将文件添加到您的项目:registry=https://npm.pkg.github.com/@OWNER
Run Code Online (Sandbox Code Playgroud)
替换OWNER为拥有您将在其中发布包的存储库的 GitHub 上的用户或组织帐户的名称。
小智 18
例如:
{
"name": "@elvisjs/calling-elvis",
"repository": {
"type": "git",
"url": "https://github.com/elvisjs/calling-elvis"
},
"publishConfig": {
"registry": "https://npm.pkg.github.com/elvisjs"
}
}
Run Code Online (Sandbox Code Playgroud)
的name,repository/url并且publishConfig/registry必须匹配。
Github 包注册表期望 package.json 上的名称属性为“@{github username}/{package name},例如:-
"name": "@pravanjan/local-time",
"publishConfig": {
"registry": "https://npm.pkg.github.com/"
},
Run Code Online (Sandbox Code Playgroud)
如果 package.json 中没有设置“publishConfig”,我们可以直接在终端中设置注册表参数
npm publish --registry=https://npm.pkg.github.com/
Run Code Online (Sandbox Code Playgroud)
这对我有用
| 归档时间: |
|
| 查看次数: |
8697 次 |
| 最近记录: |