2

我有一个用 nwb 创建的反应组件项目。我正在使用 Travis 和语义发布来进行发布。

但是现在,当我发布新版本时,从 Travis 发布的包几乎是空的,只有三个文件:README、LICENSE 和 package.json。

我的 .travis.yml 配置...

sudo: false
language: node_js
cache:
  directories:
    - ~/.npm
notifications:
  email: false
node_js:
  - '8'
before_install:
  - npm install npm codecov.io coveralls
after_success:
  - cat ./coverage/lcov.info | ./node_modules/codecov.io/bin/codecov.io.js
  - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
  - npm run travis-deploy-once "npm run semantic-release"
branches:
  only:
    - master

travis 构建看起来不错,我看不到任何错误。它发现新版本并发布它,但只发布这三个文件。

公共 Github 存储库是这个......

https://github.com/rigobauer/react-abc2svg

...您可以在此处查看 travis 构建...

https://travis-ci.org/rigobauer/react-abc2svg/jobs/332199646

如果我在 package.json 中手动设置版本号并npm publish在我的计算机中运行,则该包已正确发布。

我尝试过清理 npm 缓存、重新安装所有依赖项、使用 .travis.yml 重新创建semantic-release-cli setup等。但我总是得到相同的结果。当我尝试在另一个项目中升级或安装包时,node_modules 中的目录只有这三个文件。

知道问题出在哪里吗?

更新:我已经用nwb从头开始​​重新创建项目,重新安装依赖项等。我也有同样的问题。

更新2:我在package.json中配置了这样的目录列表......

"files": [
    "css",
    "es",
    "lib",
    "umd"
]

...但我也尝试过创建一个.npmignore文件。问题仍然存在。

4

3 回答 3

1

知道了!感谢语义发布人员,我意识到我必须手动指示 Travis 运行我的构建脚本(使用 nwb 生成)。所以只要把它改成 .travis.yml 就可以了……

.......
after_success:
  - cat ./coverage/lcov.info | ./node_modules/codecov.io/bin/codecov.io.js
  - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
  - npm run build
  - npm run travis-deploy-once "npm run semantic-release"
........

我认为 Travis 会自动执行此操作,因为我有另一个使用完全相同的流程制作的组件项目,并且该包没问题(这就是让我发疯的原因)。在阅读了他们的答案后,我重新检查了所有内容,并意识到我是手动发布了该包的第一次发布,然后我合并了语义发布。问题是下一次提交与功能或修复无关,因此语义发布不会生成新版本,并且原始包仍然存在。

于 2018-01-23T20:44:00.400 回答
1

如果有人遇到相同类型的问题,这里是带有答案的 Git 问题:https ://github.com/semantic-release/semantic-release/issues/615

于 2018-01-23T21:59:11.733 回答
0

我在 Travis 文档中找到了这个skip_cleanup: true,也许你应该在你的 travis.yml 中添加这个选项(只是一个猜测)

于 2018-01-23T15:21:25.687 回答