【问题标题】:Why is `npm version` not committing the updated package.json?为什么 `npm version` 没有提交更新的 package.json?
【发布时间】:2016-01-08 16:32:40
【问题描述】:

我正在使用 Travis 将一个 npm 模块发布到 npmjs.org。

.travis.yml的相关部分是:

before_deploy:
  - npm version minor
  - git config credential.helper "store --file=.git/credentials"
  - echo "https://${GH_TOKEN}:@github.com" > .git/credentials
  - git push && git push --tags

我看到标签已创建,但对 package.json 的更改没有进入 git 存储库。

查看travis-ci.org的日志,我明白了:

$ npm version minor
v1.3.0

$ git config credential.helper "store --file=.git/credentials"

$ echo "https://${GH_TOKEN}:@github.com" > .git/credentials

$ git push && git push --tags
Everything up-to-date
Counting objects: 6, done.
Delta compression using up to 16 threads.
Compressing objects:  25% (1/4)   
Compressing objects:  50% (2/4)   
Compressing objects:  75% (3/4)   
Compressing objects: 100% (4/4)   
Compressing objects: 100% (4/4), done.
Writing objects:  25% (1/4)   
Writing objects:  50% (2/4)   
Writing objects:  75% (3/4)   
Writing objects: 100% (4/4)   
Writing objects: 100% (4/4), 411 bytes | 0 bytes/s, done.
Total 4 (delta 2), reused 0 (delta 0)
To https://github.com/Jellyvision/basecamp-api.git
 * [new tag]         v1.3.0 -> v1.3.0

因此,很明显,对 package.json 的更改没有被添加或提交,因为 push 表明一切都是最新的。

新标签 被推了上去,物有所值。

当我在本地运行 npm version minor 时,我看到新的提交正在按预期生成,所以我猜这是与环境相关的,但我在文档中找不到任何表明 npm version 会以不同方式工作的内容在 CI 环境中。

对这里发生的事情有什么建议吗?

【问题讨论】:

  • @Downvoter:你能告诉我如何改进这个问题吗?
  • 谢谢,但是 package.json 在我的存储库的根目录下。
  • 我有同样的东西,但在本地。你有没有找到解决办法?

标签: node.js git npm travis-ci


【解决方案1】:

我们创建了这个 publish.sh 脚本来首先更新 npm 包版本,然后更新我们的存储库...

#!/bin/sh
npm version $1
git push --follow-tags
npm publish

示例用法:

%> ./publish.sh 2.2.41

注意git push --follow-tags 的使用。这具有更改package.json 文件中的版本、使用package.json 中的版本在git 中创建标签发布并更新master 分支的效果。

【讨论】:

  • 巴姆。 git push --follow-tags 是我在 GitHub Action 中使用它所需要的。一个伟大的,明确的答案。谢谢!
【解决方案2】:

我也遇到了同样的问题。

使用标志 --git-tag-version 对我有用。

npm version minor --git-tag-version

【讨论】:

    猜你喜欢
    • 2018-03-30
    • 2017-06-05
    • 1970-01-01
    • 2019-07-01
    • 2022-06-10
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2021-10-25
    相关资源
    最近更新 更多