Node.js 如何将NPM包迁移到组织@scope
最近为模块引入了@scopes/组织。是否有一种将现有模块迁移到组织的好方法?有没有工具可以为大量软件包实现自动化?NPM是否支持重定向,以便其他软件仍可以使用旧名称,但会收到更新通知?您可以从以下位置更改您的package.json:Node.js 如何将NPM包迁移到组织@scope,node.js,npm,Node.js,Npm,最近为模块引入了@scopes/组织。是否有一种将现有模块迁移到组织的好方法?有没有工具可以为大量软件包实现自动化?NPM是否支持重定向,以便其他软件仍可以使用旧名称,但会收到更新通知?您可以从以下位置更改您的package.json: "name": "project-name" 致: 并发布包: npm publish --access=public 更新:需要使用--access=public参数使作用域包成为公共的-否则默认情况下它将是私有的。您可以在package.json的pub
"name": "project-name"
致:
并发布包:
npm publish --access=public
更新:需要使用--access=public
参数使作用域包成为公共的-否则默认情况下它将是私有的。您可以在package.json的publishConfig
部分中,将access
设置为“public”
,而不是命令行参数:
"publishConfig": {
"access": "public"
}
(感谢并在评论中指出这一点!)
见:
npm不支持从旧名称重定向到新名称,但是
您可以使用以下方法弃用旧软件包:
npm deprecate <pkg>[@<version>] <message>
npm不推荐[@]
这样,安装旧版本的用户将收到通知,他们应该安装另一个软件包
请参阅:另一种不涉及重命名软件包的方法是在npm网站上转到组织中的团队设置(有一个名为“开发人员”的默认团队)。那里有一个按钮,用于将现有包添加到团队中
通过这种方式,您实际上可以传输包,而不是以其他名称重新发布包。publish命令可能应该包括--access=public
参数。或者将“publishConfig”:{“access”:“public”},
添加到package.json中,否则,它将被发布为私有default@DaniloBargen接得好,谢谢你指出!我把它添加到了答案中。为什么这不适用于成员发布但不受范围限制的包。当我尝试向开发人员团队添加包时,Npm会以“禁止”回应。但这不会为包的所有当前用户重定向,或者会吗?我只是尝试了这个。它不会将包传输给组织,它只允许组织中的人员发布对原始包的更改。
npm deprecate <pkg>[@<version>] <message>