You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为两个Laravel项目分别配置不同的Node版本?

解决方案:在Ubuntu上为不同Laravel项目使用不同Node版本

完全懂你的烦恼——老项目依赖的Gulp在新Node环境下跑崩,新项目的Webpack又死磕最新Node版本,两头卡确实难受。好在Ubuntu上完全能同时装多个Node版本,还能给每个项目单独指定所需版本,下面一步步给你捋清楚怎么做:

1. 先装nvm(Node版本管理器)

这是管理多Node版本最顺手的工具,没有之一:

  • 先卸载系统里已有的Node/npm(避免冲突,没装过的话跳过这步):
    sudo apt remove nodejs npm
  • 用官方脚本安装nvm:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  • 重启终端,或者执行命令让nvm立即生效:
    source ~/.bashrc(如果你用zsh终端,就换成source ~/.zshrc)
  • 验证安装成功:输入nvm --version,能显示版本号就没问题了

2. 安装你需要的两个Node版本

假设你的Gulp项目需要Node 16(大部分老Gulp兼容这个版本),Webpack项目需要最新稳定版Node 20:

  • 安装旧版本:nvm install 16
  • 安装最新稳定版:nvm install --lts(或者直接指定版本nvm install 20)
  • 查看已安装的所有版本:nvm ls,能看到你装的版本,带*的是当前正在用的

3. 给每个项目指定专属Node版本

有两种方式,推荐第二种更省心:

方式一:手动临时切换

  • 进入Gulp项目的根目录,执行nvm use 16,此时当前终端的Node就切换成16了,正常跑gulp命令就行
  • 进入Webpack项目的根目录,执行nvm use 20,再运行npm run dev或者Webpack相关命令,完美适配

方式二:自动切换(推荐)

在每个项目的根目录下创建一个.nvmrc文件,里面只写对应的版本号:

  • Gulp项目根目录执行:echo "16" > .nvmrc
  • Webpack项目根目录执行:echo "20" > .nvmrc
    之后每次进入项目目录,只需要执行nvm use,nvm会自动读取.nvmrc里的版本并切换,不用手动输版本号,超方便

4. 一些额外提醒

  • 每个Node版本会自带对应的npm,切换Node版本后npm也会跟着切换,不用单独安装不同版本的npm
  • 安装nvm的时候千万别用sudo,它是装在你的用户目录下的,用sudo反而会出权限问题
  • 如果用VS Code,终端可以设置自动识别.nvmrc,不过手动执行nvm use也很简单,没必要纠结设置

这样两个Laravel项目就能各自用对应的Node版本正常运行了,亲测在Ubuntu上完全可行~

内容的提问来源于stack exchange,提问作者6011991

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:50:58