如何安装Node.js 0.10.32与8.9.4(LTS)双版本?切换后npm list报错
解决Node.js 0.10.32下执行
npm list出现SyntaxError的问题 这个报错的核心原因很明确:Node.js 0.10.32不支持ES6的let关键字,而你当前使用的npm版本大概率是和Node 8.9.4配套的高版本(比如npm 5.x+),这类新版本npm的代码里大量使用了ES6语法,在老旧的Node 0.10.x环境下自然会抛出语法错误。
下面给你几个可行的解决办法:
直接降级npm到兼容版本
切换到Node 0.10.32后,安装和该版本Node配套的npm 2.x系列(这是Node 0.10.x能支持的最高npm版本),执行命令:npm install -g npm@2.15.11(如果是Linux/macOS遇到权限问题,可在命令前加
sudo;如果用nvm管理的话,不需要sudo)用nvm重新安装Node 0.10.32,自动匹配兼容npm
如果你用的是nvm,最简单的方式是先卸载现有不兼容的Node 0.10.32,再重新安装,nvm会自动为该Node版本安装配套的兼容npm:nvm uninstall 0.10.32 nvm install 0.10.32验证修复效果
切换回Node 0.10.32后,先执行npm -v确认npm版本是2.x(比如2.15.11),再运行npm list,应该就能正常输出依赖列表了。
最后提醒一句:Node.js 0.10.x已经停止维护超过7年了,存在大量安全漏洞和兼容性问题,如果不是业务强制要求,尽量避免在生产环境使用这个版本。
内容的提问来源于stack exchange,提问作者Mohit
相关产品推荐
相关产品推荐

