打包发布到 npm 几乎是空的:只需发布 README、LICENSE 和 package.json

Posted

技术标签:

【中文标题】打包发布到 npm 几乎是空的:只需发布 README、LICENSE 和 package.json【英文标题】:Packaged published to npm is almost empty: Just publish README, LICENSE and package.json 【发布时间】:2018-07-02 03:36:37 【问题描述】:

我有一个用 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 文件。问题依然存在。

【问题讨论】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

【讨论】:

我刚刚试了一下,没有解决问题。还是谢谢!

以上是关于打包发布到 npm 几乎是空的:只需发布 README、LICENSE 和 package.json的主要内容,如果未能解决你的问题,请参考以下文章

maven项目打成jar包后反编译有的类是空的

Boost Read_graphml没有正确读取xml它给出了所有顶点但它们都是空的

QTableView 的单元格是空的,但标题显示

运行时错误:CUDA 内存不足。试图分配...但内存是空的

文本打包算法

清空数组后,代码没有读取到它是空的