在构建create-near-app
时,会在项目树中创建工件。其中一些已添加到.npmignore
文件中,但其他一些在我尝试发布新版本并注意到由于 Rust 构建工件而导致 npm 包将有数百兆字节大(!!)之前被遗漏了。我将这些添加到.npmignore
,但npm publish
没有注意到。
我可以通过删除文件来解决这个问题,但是对于一个开源库来说,这样的解决方法很容易出错,该库可能由一个不断成长和变化的贡献者团队维护和发布。
npm 是否将.npmignore
文件缓存在某处?如何让 npm 使用新设置?
详细信息和快速参考:
os:macOS 10.15.6
节点版本管理器:asdf v0.7.6
节点:v12.14.1
npm:v6.13.7
包.json:
-- snip --
"files": [
"/common",
"/templates"
],
-- snip --
.npmignore:
common/contracts/rust/target
common/contracts/out
templates/*/.cache
templates/*/assembly
-- snip --
输出npm pack --dryrun
:
-- snip --
npm notice 293.2kB common/contracts/rust/target/debug/build/ryu-140fa0ad757694f9/build_script_build-140fa0ad757694f9
npm notice 20.6kB common/contracts/rust/target/debug/build/ryu-140fa0ad757694f9/build_script_build-140fa0ad757694f9.dSYM/Contents/Resources/DWARF/build_script_build-140fa0ad757694f9
npm notice 297.4kB common/contracts/rust/target/debug/build/serde-3bef95b74f70906a/build_script_build-3bef95b74f70906a
-- snip --
如果你想自己尝试:
- 克隆存储库
cd common/contracts/rust
cargo build
(你需要安装 Rust)cd ../../..
npm pack --dryrun
对你起作用吗?这是“仅在我的机器上损坏”的事情吗?