我有一个用nwb创建的react组件项目。我正在使用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缓存,重新安装所有依赖项,使用semantic-release-cli setup
重新创建.travis.yml等。但我总是得到相同的结果。当我尝试在另一个项目中升级或安装软件包时,node_modules中的目录只有这三个文件。
知道问题出在哪里?
更新:我从头开始使用nwb重新创建项目,重新安装依赖项等。我遇到了同样的问题。
更新2 :我在package.json中配置了这样的目录列表...
"files": [
"css",
"es",
"lib",
"umd"
]
...但我也尝试过制作.npmignore
文件。问题依然存在。
答案 0 :(得分:1)
如果有人遇到相同类型的问题,这里是Git问题的答案:https://github.com/semantic-release/semantic-release/issues/615
答案 1 :(得分:0)
我在Travis文档中找到了this,也许您应该将skip_cleanup: true
选项添加到您的travis.yml(只是猜测)
答案 2 :(得分:0)
知道了!感谢语义释放人员,我意识到我必须手动指示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是自动执行此操作,因为我有另一个使用完全相同的流程制作的组件项目,并且该包正常(这就是让我发疯的原因)。在阅读完答案之后,我重新检查了所有内容,并意识到我手动首次发布了该软件包,之后我将语义释放合并。问题是下一次提交与功能或修复无关,因此语义释放不会生成新版本,原始包仍然存在。