打包发布到 npm 几乎是空的:只需发布 README、LICENSE 和 package.json
Packaged published to npm is almost empty: Just publish README, LICENSE and package.json
我有一个用 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 构建看起来不错,我看不到任何错误。它发现新版本并发布它,但只发布这三个文件。
public 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
文件。问题依旧。
我在 Travis 文档中找到了 this,也许您应该将 skip_cleanup: true
选项添加到您的 travis.yml(只是猜测)
知道了!感谢语义发布人员,我意识到我必须手动向 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 会自动执行此操作,因为我有另一个组件项目使用完全相同的过程制作,并且该程序包没问题(这就是让我发疯的原因)。阅读他们的回答后,我重新检查了所有内容,并意识到我第一次手动发布了该包,然后我合并了语义发布。问题是下一次提交与功能或修复无关,因此语义发布不会生成新版本,原始包仍然存在。
如果有人遇到相同类型的问题,这里是 Git 问题的答案:https://github.com/semantic-release/semantic-release/issues/615
我有一个用 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 构建看起来不错,我看不到任何错误。它发现新版本并发布它,但只发布这三个文件。
public 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
文件。问题依旧。
我在 Travis 文档中找到了 this,也许您应该将 skip_cleanup: true
选项添加到您的 travis.yml(只是猜测)
知道了!感谢语义发布人员,我意识到我必须手动向 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 会自动执行此操作,因为我有另一个组件项目使用完全相同的过程制作,并且该程序包没问题(这就是让我发疯的原因)。阅读他们的回答后,我重新检查了所有内容,并意识到我第一次手动发布了该包,然后我合并了语义发布。问题是下一次提交与功能或修复无关,因此语义发布不会生成新版本,原始包仍然存在。
如果有人遇到相同类型的问题,这里是 Git 问题的答案:https://github.com/semantic-release/semantic-release/issues/615