Ubuntu 16.04环境下npm安装及babel-cli安装报错求助
Hey,我来帮你拆解并解决你遇到的这些问题:
1. 关于fsevents的警告——完全不用管它
npm WARN optional Skipping failed optional dependency /chokidar/fsevents: npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.3
fsevents是个只给macOS用的文件监听工具,是chokidar(babel-cli依赖的一个工具)的可选依赖。你用的是Linux系统,npm自动跳过了这个不兼容的包,完全不会影响babel-cli的正常使用,直接忽略这个警告就好。
2. "No repository field"警告——可消除可不消
npm WARN react-essential@1.0.0 No repository field.
这个警告只是说你的项目package.json里没填代码仓库的地址,属于项目配置的小细节,不影响功能。要是看着不舒服,就在package.json里加一段:
"repository": { "type": "git", "url": "你的仓库地址,比如git@github.com:你的用户名/你的项目名.git" }
要是没有远程仓库,直接忽略也完全没问题。
3. 核心问题:Node.js和npm版本太老了!
从错误信息能看到你用的是Node.js v4.2.6和npm v3.x——这俩版本都停更好几年了,babel-cli的新版本根本不兼容这么旧的环境,这才是安装失败的关键。
怎么升级?推荐用nvm来管理Node版本
nvm可以让你轻松切换不同版本的Node,不会搞乱系统环境:
- 先安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
(如果习惯用wget就换这个:wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash)
2. 重启终端,然后装一个支持babel-cli的LTS版本(比如v18,稳定又好用):
nvm install 18 nvm use 18
- 装完后验证一下版本:
node -v # 应该显示v18.x.x npm -v # 对应显示v9.x.x左右
重新安装babel-cli(或者换用新版)
版本升级好之后,重新跑安装命令:
npm install --save-dev babel-cli
另外提一句:babel-cli是Babel 6的包,现在官方主推Babel 7+的@babel/cli,新项目更建议装这个:
npm install --save-dev @babel/cli @babel/core
这样应该就能顺利搞定安装啦!
内容的提问来源于stack exchange,提问作者sudha

