我在发布我的包时遇到了pnpm的一个奇怪行为。尽管我在package.json中明确指定了“files”字段,但似乎pnpm将我项目中的所有文件捆绑到发布的包中。
下面是我的包的一个片段.json:
"files": [
"build",
"README.md",
"LICENSE"
]
字符串
在发布和安装我的包之后,我注意到我的包的node_modules目录包含了我所有项目文件的完整1:1副本,而不仅仅是指定的build
、README.md
和LICENSE
。
我试图解决这个问题的步骤:
已确保构建输出正确放置在构建目录中。
使用npm pack
对软件包内容进行重命名。
忽略所有的文件's ',忽略特定的文件,等等一切都包括在内,反正
然而,这个问题仍然存在。这里有人在pnpm上遇到过这个问题吗?我真的很感激任何解决这个问题的见解或建议。提前感谢!
在npm中,它似乎工作正常
https://www.npmjs.com/package/zod-to-fields?activeTab=code
但一旦我安装在任何项目,我可以看到整个项目
我发布我的包与标志--访问公共
pnpm包生成tgz文件,文件只包含在文件packagejson中,所以我不知道为什么它会像x1c 0d1x那样工作
1条答案
按热度按时间ndh0cuux1#
如果
pnpm pack
和npm pack
都报告了正确的文件,则package.json
中的files
字段没有任何错误。您的
zod-to-fields
目录可能是通过运行pnpm link
创建的本地项目目录的符号链接,因此您可以看到所有文件。在您的机器上的消费者项目中,您需要取消链接依赖项以删除符号链接并将其作为包存储库中的正确依赖项安装:
字符串