重要说明:此文档涵盖 Yarn 1(经典)。
有关 Yarn 2+ 文档和迁移指南,请参阅 yarnpkg.com。

发布软件包

要通过 Yarn 与世界各地的其他开发者分享软件包,首先需要发布此软件包。

使用 Yarn 发布软件包时,会将软件包放入 npm 注册表 中,后者用于在全球范围内分发软件包。

登录 npm

如果你尚未创建 npm 帐户,首先需要 创建一个 npm 帐户。完成此操作后,即可在 Yarn 中设置用户名和电子邮件。

yarn login

这会提示你输入用户名和电子邮件。但是,不会要求输入密码。Yarn 不会保存密码或任何会话。在 npm 上发布或修改某些内容时,需要输入密码。

发布软件包

将软件包中的所有代码编写完毕,对其进行测试并准备好发布后,即可开始发布。

yarn publish

首先,系统会要求输入要发布的新版本

[1/4] Bumping version...
info Current version: 1.0.0
question New version: _____

接下来,系统会要求输入 npm 密码

[2/4] Logging in...
info npm username: your-npm-username
info npm username: [email protected]
question npm password: ____________

最后,Yarn 会发布该软件包并吊销会话令牌。

[3/4] Publishing...
success Published.
[4/4] Revoking token...
success Revoked login token.
✨  Done in 10.53s.

每次要发布软件包的新版本时,都可以按照此流程进行操作。

访问软件包

现在,应该可以在 https://npmjs.net.cn/package/my-new-project 中找到你的软件包并安装此软件包

yarn add my-new-project

你还可以查看 npm 注册表中的所有信息

yarn info my-new-project
{ name: 'my-new-project',
  description: 'My New Project description.',
  'dist-tags': { latest: '1.0.0' },
  versions: [ '1.0.0' ],
  maintainers: [ { name: 'Your Name', email: '[email protected]' } ],
  time:
  { modified: '2024-05-24T21:05:24+00:00',
    created: '2024-05-24T21:05:24+00:00',
    '1.0.0': '2024-05-24T21:05:24+00:00' },
  homepage: 'https://my-new-project-website.com/',
  keywords: [ 'cool', 'useful', 'stuff' ],
  repository:
   { url: 'https://example.com/your-username/my-new-project',
     type: 'git' },
  contributors:
   [ { name: 'Your Friend',
       email: '[email protected]',
       url: 'http://their-website.com' },
     { name: 'Another Friend',
       email: '[email protected]',
       url: 'https://another-website.org' } ],
  author: { name: 'Your Name', email: '[email protected]' },
  bugs: { url: 'https://github.com/you/my-new-project/issues' },
  license: 'MIT',
  readmeFilename: 'README.md',
  version: '1.0.0',
  main: 'index.js',
  files: [ 'index.js', 'lib/*.js', 'bin/*.js' ],
  bin: { 'my-new-project-cli': 'bin/my-new-project-cli.js' },
  dist:
   { shasum: '908bc9a06fa4421e96ceda243c1ee1789b0dc763',
     tarball: 'https://registry.npmjs.org/my-new-project/-/my-new-project-1.0.0.tgz' },
  directories: {} }