gpt4 book ai didi

node.js - 您可以在没有 Yarn 的机器上使用 Yarn2 PnP "zero-installs"吗?

转载 作者:行者123 更新时间:2023-12-02 19:05:29 26 4
gpt4 key购买 nike

我正在玩 Yarn 2 的 "zero install"一个小工具来解决我老板的随机过敏问题。 (他对必须在克隆的存储库上运行 npm i 才能使其工作的期望感到不满,并坚持将 node_modules 放入版本控制中在某种程度上并不是一个糟糕的想法;所以我想以此为借口偷偷溜进 Yarn 并阻止他通过它。)

据我了解,“零安装”基本上意味着 Yarn 试图使将依赖项安装状态放入 VCS 中实际上是可行的。然而,要运行实际的应用程序,Yarn 需要用其 PnP 机制替换 Node 的依赖解析。对于从 Yarn 脚本运行的 Node 实例,这种情况会自动发生,但运行 Yarn 脚本需要 Yarn 可用。 (请记住,我们正在努力解决某些人对安装东西固执己见的问题。)

我最好的办法就是让我的 start 脚本成为 npx yarn Node app.js,但这感觉不必要地复杂;毕竟,对于 Yarn 2,该工具本身存储在 .yarn/releases 中,并且全局 yarn 命令使用它,但这是某些 bundler 输出的巨大缩小块,我不知道如何开始调用它。

最佳答案

要注册 Yarn 生成的 PnP 运行时,只需从命令行需要 .pnp.js 即可,因此您可以通过以下方式运行 app.js:

node -r ./.pnp app.js

还有另一种方法可以执行相同的操作:您可以从应用程序内 require .pnp.js,但是当您不是从命令行执行此操作时,您还必须调用 setup code> 返回的 PnP API 实例上的函数,只需将此行添加到 app.js 顶部:

require('./.pnp').setup();

关于node.js - 您可以在没有 Yarn 的机器上使用 Yarn2 PnP "zero-installs"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65113180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com