【问题标题】:Do I need to publish to npm every time I update a package available via git?每次通过 git 更新可用的包时,是否需要发布到 npm?
【发布时间】:2012-11-10 13:26:39
【问题描述】:

假设我维护了一个令人难以置信的crab-season 包。我有npm published 0.1.0 版,package.json 包含:

"repository": {
  "type": "git",
  "url": "https://github.com/example/crab-season.git"
}

当我添加很棒的新功能,将版本提升到 0.2.0,然后推送到 github 时,npmjs 注册表会通知我的新版本,还是我每次都需要npm publish

【问题讨论】:

  • afaik 您每次都需要发布。 npm 未连接到 github 或任何其他版本控制系统。
  • npm 有一些基本的git 支持,比如直接从 git url 安装。我梦想,因为我给了注册表我的 git url,它可以在我推送更新 package.json 版本的更改时进行检查(也许在 post receive hook 的帮助下)。听起来我需要做一些工作才能实现这种集成。

标签: git publish npm


【解决方案1】:

发布了几个模块后,答案是肯定的,你需要npm publish来获取npmjs上的新版本。

这使模块作者可以灵活地在他们开始下一个版本的工作时或在版本完成之前的任何时间增加他们的版本号。

npm version 通过检测 git 存储库、在package.json 中更新版本、提交更改并使用版本号标记更改来轻松加快此流程。

【讨论】:

    【解决方案2】:

    当您推送版本标签时,Travis CI 可以发布到 npm,以减少发布更改的开销。在您的.travis.yml 中启用:

    deploy: 
      provider: npm
      api_key: "YOUR API KEY"
      on:
        - tags: true
    

    查看travis docs 了解详情。 this post 中还有分步指南。

    【讨论】:

    • $ travis setup npm 使用travis gem添加上述内容
    • 那……太美了。
    猜你喜欢
    • 2022-01-24
    • 1970-01-01
    • 2020-01-10
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多