如何在无node_modules的PnP环境下不通过yarn运行next等二进制文件
无需Yarn直接运行Next.js(PnP模式)的方法
因为你用了Yarn PnP模式没有node_modules,又没法在PM2集群模式下调用Yarn,直接用Node结合PnP加载器调用Next.js的二进制入口文件即可:
- 先临时用Yarn获取Next.js二进制文件的实际路径:
yarn next --show-bin
这个命令会输出类似/your-project/.yarn/unplugged/next-npm-13.4.19-xxxx/node_modules/next/dist/bin/next.js的路径。
- 用Node结合PnP参数运行这个入口文件,把路径替换成你实际获取到的:
NODE_OPTIONS="--require $(pwd)/.pnp.cjs --experimental-loader file://$(pwd)/.pnp.loader.mjs" node /your-next-bin-path/next.js
通用方案(适用于其他二进制文件)
对其他Yarn PnP管理的二进制文件,流程完全一致:
- 用
yarn <binary-name> --show-bin获取实际入口脚本路径 - 替换到上述Node命令中,保留PnP相关的
NODE_OPTIONS参数即可
内容的提问来源于stack exchange,提问作者simPod
相关产品推荐
相关产品推荐

