我正在使用 Yarn 2 的“零安装”作为一个小工具来解决我老板的一个随机过敏问题。npm i
(他对必须在克隆的 repo 上运行以使其工作的期望感到不满,并坚持认为进行node_modules
版本控制并不是一个可怕的想法;所以我想以此为借口潜入 Yarn 并阻止他通过供电。)
据我了解,“零安装”基本上意味着 Yarn 试图使将依赖项安装状态放入 VCS 中实际上是可行的。但是,要运行实际的应用程序,Yarn 需要用其 PnP 机制替换 Node 的依赖解析。对于从 Yarn 脚本运行的 Node 实例,这会自动发生,但运行 Yarn 脚本需要 Yarn 可用。(请记住,我们正在努力解决有人在安装东西时任意固执的问题。)
我所拥有的最好的就是让我的start
脚本成为npx yarn node app.js
,但这感觉不必要地令人费解;毕竟,使用 Yarn 2,工具本身存储在.yarn/releases
其中,全局yarn
命令使用它,但这是一些捆绑器输出的一个巨大的缩小 blob,我不知道我将如何开始调用它。