打包发布到npm几乎是空的:只需发布自述文件、许可证和package.json

打包发布到npm几乎是空的:只需发布自述文件、许可证和package.json,npm,travis-ci,semantic-release,nwb,Npm,Travis Ci,Semantic Release,Nwb,我有一个用nwb创建的react组件项目。我正在使用Travis和semantic release进行发布 但是现在,当我发布一个新版本时,从Travis发布的包几乎是空的,只有三个文件:README、LICENSE和package.json 我的.travis.yml配置 sudo: false language: node_js cache: directories: - ~/.npm notifications: email: false node_js: - '8'

我有一个用nwb创建的react组件项目。我正在使用Travis和semantic release进行发布

但是现在,当我发布一个新版本时,从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存储库如下所示

。。。你可以在这里查看travis的构建

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

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

你知道问题出在哪里吗

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

更新2:我在package.json中配置了目录列表,如下所示

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

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

我在Travis文档中发现,也许你应该将
跳过清理:true
选项添加到你的Travis.yml(只是猜测)

我在Travis文档中发现,也许你应该将
跳过清理: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是自动完成的,因为我有另一个组件项目是使用完全相同的过程完成的,这个包还可以(这就是让我发疯的原因)。在阅读了他们的答案后,我重新检查了所有内容,并意识到我手动发布了该软件包的第一次发布,之后我加入了语义发布。问题是,下一次提交与功能或修复无关,因此语义版本不会生成新版本,而原始包仍然存在。

明白了!多亏了语义发布人员,我意识到我必须手动指示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问题,答案是:

如果有人遇到相同类型的问题,Git问题的答案是:

我刚刚尝试过,但没有解决问题。无论如何谢谢你!我刚试过,但没有解决问题。无论如何谢谢你!