若要与有限数量的用户或团队共享你的代码,你可以将私有的用户范围或组织范围的包发布到 npm 注册表。

有关范围和私有包的更多信息,请参阅 "关于范围" 和 "关于私有包"。

注意: 在你可以发布私有的用户范围的 npm 包之前,你必须 注册 一个付费的 npm 用户帐户。

此外,若要发布私有的组织范围的包,你必须 创建一个 npm 用户帐户,然后 创建一个付费的 npm 组织

创建私有包

  1. 如果你使用 npmrc 管理多个注册表上的帐户,则在命令行上切换到相应的配置文件

    npmrc <profile-name>
  2. 在命令行上,为你的包创建一个目录

    mkdir my-test-package
  3. 导航到你的包的根目录

    cd my-test-package
  4. 如果你使用 git 管理你的包代码,则在包根目录中,运行以下命令,将 git-remote-url 替换为你的包的 git 远程 URL

    git init
    git remote add origin git://git-remote-url
  5. 在包根目录中,运行 npm init 命令并将范围传递给 scope 标志

    • 对于组织范围的包,将 my-org 替换为你的组织名称

      npm init --scope=@my-org
    • 对于用户范围的包,将 my-username 替换为你的用户名

      npm init --scope=@my-username
  6. 响应提示以生成一个 package.json 文件。有关包命名的帮助,请参阅 "包名称指南"。

  7. 创建一个 自述文件,说明你的包代码是什么以及如何使用它。

  8. 在首选的文本编辑器中,编写包的代码。

检查包内容中是否存在敏感信息或不必要的信息

将敏感信息发布到注册表可能会损害你的用户,危害你的开发基础设施,修复成本很高,并使你面临法律诉讼的风险。我们强烈建议在将你的包发布到注册表之前删除敏感信息,例如私钥、密码、个人身份信息 (PII) 和信用卡数据。即使你的包是私有的,如果包被公开或下载到可以被比预期更多用户访问的计算机上,敏感信息也可能会被泄露。

对于不太敏感的信息,例如测试数据,请使用 .npmignore.gitignore 文件以防止发布到注册表。有关更多信息,请参阅 这篇文章

测试你的包

为了降低发布 bug 的可能性,我们建议你在将包发布到 npm 注册表之前测试你的包。若要测试你的包,请运行 npm install 并在其中包含你的包目录的完整路径

npm install my-package

发布私有包

默认情况下,范围包将发布为私有可见性。

  1. 在命令行上,导航到你的包的根目录。

    cd /path/to/package
  2. 若要将你的私有包发布到 npm 注册表,请运行

    npm publish
  3. 若要查看你的私有包页面,请访问 https://npmjs.net.cn/package/*package-name*, 将 *package-name* 替换为你的包的名称。私有包将在 npm 网站上包名称下显示 private

    Screenshot of a private npm Teams package

有关 publish 命令的更多信息,请参阅 CLI 文档