Ubuntu环境下Laravel安装Gulp报错求助:Node.js版本过低问题
解决Ubuntu 16.04上Node.js v4.2.6导致npm安装Gulp失败的问题
嘿,这个问题我之前在Ubuntu 16.04环境下碰到过——系统自带的Node.js v4.2.6确实存在npm兼容bug,而且直接用apt-get upgrade根本升不了级,因为Ubuntu官方软件源里的Node.js 4.x分支就停在4.2.6了。别慌,按下面的步骤来就能搞定:
步骤1:彻底卸载旧版本的Node.js和npm
首先得把现有版本完全清掉,避免后续安装出现冲突:
sudo apt-get purge nodejs npm sudo apt-get autoremove && sudo apt-get clean
步骤2:添加第三方仓库获取更新的Node.js版本
我们可以用NodeSource维护的官方deb包仓库来安装符合要求的版本,这里给你两个选项:
选项A:升级到Node.js 4.x分支的最新稳定版(满足npm要求的≥4.7.0)
这个选项严格停留在4.x分支,刚好满足npm的最低要求:
# 导入仓库的GPG验证密钥 curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add - # 添加适配Ubuntu 16.04的Node.js 4.x源 echo "deb https://deb.nodesource.com/node_4.x xenial main" | sudo tee /etc/apt/sources.list.d/nodesource.list # 更新apt软件缓存 sudo apt-get update # 安装Node.js(会自动配套安装对应版本的npm) sudo apt-get install nodejs
选项B:升级到长期支持的Node.js 8.x LTS(更推荐)
如果你的Laravel 5.6项目没有严格限制Node.js版本,更推荐升级到8.x LTS——因为Node.js 4.x早就停止维护了,8.x的安全性和兼容性更好:
# 同样先导入GPG密钥(如果已经执行过选项A的密钥导入可以跳过这一步) curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add - # 添加适配Ubuntu 16.04的Node.js 8.x源 echo "deb https://deb.nodesource.com/node_8.x xenial main" | sudo tee /etc/apt/sources.list.d/nodesource.list # 更新缓存并安装 sudo apt-get update sudo apt-get install nodejs
步骤3:验证版本并安装Gulp
安装完成后,先确认版本是否达标:
node -v npm -v
如果选了选项A,node -v会显示v4.9.1(4.x分支的最后稳定版);选项B则会显示v8.17.0左右的版本,都能满足npm的要求。
接下来就可以正常安装Gulp了:
# 先全局安装Gulp CLI(方便在项目里使用gulp命令) npm install -g gulp-cli # 切换到你的Laravel项目目录,安装项目依赖的Gulp版本 npm install gulp
这样就能解决Node.js版本过低导致的npm报错问题了。
内容的提问来源于stack exchange,提问作者mae
相关产品推荐
相关产品推荐

