首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何不推荐发布到GitHub包注册表的npm包?

如何不推荐发布到GitHub包注册表的npm包?
EN

Stack Overflow用户
提问于 2021-03-31 18:15:52
回答 1查看 670关注 0票数 1

我有一个私有包发布到GitHub包注册表中。我现在不赞成这样做。我试过运行这个..。

代码语言:javascript
复制
npm deprecate --verbose @test-engineering/test-roles "This package has been deprecated and superseded by @test-engineering/test-r - github.com/test-engineering/test-common/blob/master/packages/test"

得到了这个错误..。

代码语言:javascript
复制
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/tests/**/.nvm/versions/node/v12.20.1/bin/node',
npm verb cli   '/tests/**/.nvm/versions/node/v12.20.1/bin/npm',
npm verb cli   'deprecate',
npm verb cli   '--verbose',
npm verb cli   '@test-engineering/test-roles',
npm verb cli   'This package has been deprecated and superseded by @test-engineering/test - github.com/test-engineering/test-common/blob/master/packages/test'
npm verb cli ]
npm info using npm@6.14.10
npm info using node@v12.20.1
npm verb npm-session da92d8e02740777e
npm http fetch GET 200 npm.pkg.github.com/test-engineering/@test-engineering%2ftest-roles?write=true 277ms
npm http fetch PUT 400 npm.pkg.github.com/test-engineering/@test-engineering%2ftest-roles 269ms
npm verb stack Error: 400 Bad Request - PUT npm.pkg.github.com/test-engineering/@test-engineering%2ftest-roles - failed to stream package from json: unhandled input: No new versions found in package.json
npm verb stack     at /tests/**/.nvm/versions/node/v12.20.1/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:117:15
npm verb stack     at processTicksAndRejections (internal/process/task_queues.js:97:5)
npm verb statusCode 400
npm verb pkgid @test-engineering/test-roles@latest
npm verb cwd /tests/**/repos/test-common
npm verb Darwin 20.2.0
npm verb argv "/tests/**/.nvm/versions/node/v12.20.1/bin/node" "/tests/**/.nvm/versions/node/v12.20.1/bin/npm" "deprecate" "--verbose" "@test-engineering/test-roles" "This package has been deprecated and superseded by @test-engineering/test - https://github.com/test-engineering/test-common/blob/master/packages/test"
npm verb node v12.20.1
npm verb npm  v6.14.10
npm ERR! code E400
npm ERR! 400 Bad Request - PUT npm.pkg.github.com/test-engineering/@test-engineering%2ftest-roles - failed to stream package from json: unhandled input: No new versions found in package.json
npm verb exit [ 1, true ]
npm timing npm Completed in 824ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /tests/**/.npm/_logs/2021-03-31T06_11_49_149Z-debug.log

我想知道这是否是一个作用域模块问题。有谁知道会发生什么事吗?I saw this question,但这看起来与我的错误不同。

编辑1

正确设置publishConfig后的一些观察--

  • I仍然出现以下错误:

代码语言:javascript
复制
npm ERR! 
code E400 npm ERR! 400 Bad Request - PUT https://npm.pkg.github.com/test-engineering/@test-engineering%2ftest-roles - failed to stream package from json: unhandled input: No new versions found in package.json..

如果

  • 是ssh而不是https,那么repository#url重要吗?这也是一个monorepo,因此存储库字段看起来如下..我想知道这是否也造成了一个问题。

代码语言:javascript
复制
{ 
  "type": "git", 
  "url": "ssh://git@github.com:test-engineering/test-common.git", 
  "directory": "packages/test-roles"
  }

  • 在哪里运行deprecate命令是否重要?我应该在包目录中吗?
EN

回答 1

Stack Overflow用户

发布于 2021-04-07 05:11:24

如果尚未设置publishConfig选项或是否正确设置了该选项,请尝试在package.json中指定它:

代码语言:javascript
复制
"publishConfig": {
    "registry":"https://npm.pkg.github.com/OWNER"
},

OWNER替换为发布包的GitHub上的用户帐户的名称。

示例( package.json: )

代码语言:javascript
复制
{
  "name": "@Owner/repository",
  "repository": {
    "type": "git",
    "url": "https://github.com/Owner/repository"
  },
  "publishConfig": {
    "registry": "https://npm.pkg.github.com/Owner"
  }
}

repository/urlpublishConfig/registry必须匹配所有者repository是你拿包裹的地方。希望这有什么帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66893169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档