如何使用新的 npm 功能发布私有模块?

问题描述 投票:0回答:3

输入账单信息并重新登录我的 npm 客户端后,我尝试发布一个新的私有模块。

我将

"private": "true"
设置为
package.json
并使用范围之类的东西给了一个名称
@myusername/mymodule
。然后我在
npm publish
上收到一条错误消息,说我必须删除
"private": "true"
才能发布我的模块!我做错了什么?

我是否应该删除私有属性并相信我给它一个范围名称的简单事实将使其默认为私有?

信息:npm v2.7.6

npm package.json
3个回答
5
投票

"private": true
与私人套餐完全不同。来自 docs.npmjs.com:

如果你在 package.json 中设置了

"private": true
,那么 npm 将拒绝发布它。这是防止意外发布的一种方法......

我认为这不是您要找的。

[email protected]
开始,如果您是付费用户,您可以将私有包发布到npm注册表。

  1. 注册付费帐户。
  2. 创建并初始化一个具有范围名称的包,例如
    "name": "@username/module-name"
  3. 发布您的包。默认情况下,npm 假定作用域包是私有的——这就是您想要的。但是,如果您希望您的作用域包公开,您可以使用
    --access=public
    选项进行发布。

4
投票

我是否应该删除私有属性并相信我给它一个范围名称的简单事实将使其默认为私有?

根据此页面,您这样做应该是安全的!

具体:

所有范围内的包默认限制访问。这可以确保您不会意外公开某些内容。您可以在访问页面上更改此设置。


0
投票

您应该将 private 设置为 false,如果包是有范围的并且您不希望它被公开下载,则在您的 package.json 中添加一个publishConfig:

“发布配置”:{ “访问”:“受限” },

这将限制该软件包被公开查看和安装。 但包应该有范围 或者你可以使用命令 纱线发布--access=restricted

© www.soinside.com 2019 - 2024. All rights reserved.