You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何复制npm pack行为,将当前目录打包进package目录并输出到stdout?

实现类似npm pack的tar打包(将内容放入package目录)

我刚好处理过类似的需求,其实不用额外创建临时目录,tar自带的--transform(简写--xform)参数就能帮你实现这个效果,它可以在打包过程中修改文件的路径前缀。

你只需要调整原来的命令,加上路径转换规则就行:

tar --exclude='./node_modules/' -cv . --transform='s,^.,package,' | gzip > archive.tar.gz

参数解释:

  • --transform='s,^.,package,':这是一个sed风格的替换规则,s表示替换操作,^.匹配每个文件路径的开头(也就是当前目录下的所有文件/文件夹的根路径),把它替换成package,这样所有打包的内容都会被放到package/目录下。

你可以测试一下:解压生成的archive.tar.gz后,所有文件都会出现在package目录里,和npm pack生成的压缩包结构完全一致。

内容的提问来源于stack exchange,提问作者user7898461

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:00:07