对不同版本的 Node.js 使用不同的 node_modules 目录
Use a different node_modules directory for different versions of Node.js
使用 NVM 或在 Node.js 版本之间切换时,必须为每个节点版本重建 node_modules。是否有可能以某种方式为每个版本使用不同的 node_modules 目录,而不是每次在版本之间切换时都必须重建内容?
类似于:
node_modules_v8/
node_modules_v7/
node_modules_v6/
不确定是否有更好的方法。
三个建议(按我的偏好排序):
- 使用 Docker 帮助配置 Containers and Volumes 根据您的节点版本切换事物指向的位置。
- 将符号 link (Linux syntax, Windows syntax) 设置到您的
node_modules
文件夹,指向 node
期望 运行 的正确模块版本。
- 类似于操作符号 links,使用
NODE_PATH
设置并将其指向 node_modules
文件夹的正确缓存(即 NODE_PATH=/etc/node_v8) 在执行你的 node
命令之前。如果您全局设置它,它将限制您 运行 在该框上设置多个节点实例,因此,您需要在每个流程实例上设置 NODE_PATH
。
使用 NVM 或在 Node.js 版本之间切换时,必须为每个节点版本重建 node_modules。是否有可能以某种方式为每个版本使用不同的 node_modules 目录,而不是每次在版本之间切换时都必须重建内容?
类似于:
node_modules_v8/
node_modules_v7/
node_modules_v6/
不确定是否有更好的方法。
三个建议(按我的偏好排序):
- 使用 Docker 帮助配置 Containers and Volumes 根据您的节点版本切换事物指向的位置。
- 将符号 link (Linux syntax, Windows syntax) 设置到您的
node_modules
文件夹,指向node
期望 运行 的正确模块版本。 - 类似于操作符号 links,使用
NODE_PATH
设置并将其指向node_modules
文件夹的正确缓存(即 NODE_PATH=/etc/node_v8) 在执行你的node
命令之前。如果您全局设置它,它将限制您 运行 在该框上设置多个节点实例,因此,您需要在每个流程实例上设置NODE_PATH
。