对不同版本的 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/

不确定是否有更好的方法。

三个建议(按我的偏好排序):

  1. 使用 Docker 帮助配置 Containers and Volumes 根据您的节点版本切换事物指向的位置。
  2. 将符号 link (Linux syntax, Windows syntax) 设置到您的 node_modules 文件夹,指向 node 期望 运行 的正确模块版本。
  3. 类似于操作符号 links,使用 NODE_PATH 设置并将其指向 node_modules 文件夹的正确缓存(即 NODE_PATH=/etc/node_v8) 在执行你的 node 命令之前。如果您全局设置它,它将限制您 运行 在该框上设置多个节点实例,因此,您需要在每个流程实例上设置 NODE_PATH