node.js - 不同版本的 Node.js 使用不同的 node_modules 目录

标签 node.js npm node-modules nvm

当使用 NVM 或在 Node.js 版本之间切换时,必须为每个 Node 版本重建 node_modules。是否可以以某种方式为每个版本使用不同的node_modules目录,而不必每次在版本之间切换时重建内容?

类似于:

node_modules_v8/
node_modules_v7/
node_modules_v6/

也许有更好的方法来做到这一点,但不确定。

最佳答案

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

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

关于node.js - 不同版本的 Node.js 使用不同的 node_modules 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45930794/

相关文章:

node.js - 获取 0 :0 Bad option : 'varstmt' for first line in all files

javascript - 让本地运行的服务器使用 UTC 时间

sql - Node.js SQL 竞态条件

javascript - Node Schedule是否产生/ fork 新进程

php - Laravel Mix 和 alpine 3.14 权限错误

javascript - 主目录之外的 React-Native 导入文件

node.js - 防止快速中间件针对同一父路径执行

node.js - 当node已经用前缀编译时如何安装npm

node.js - 如何解决此错误: Cannot find module 'ibm-watson'

npm5 package-lock.json 不同机器上的不同入口