自从我使用个人电脑进行编程以来已经有很长一段时间了。我通常使用工作电脑。然而,昨天我决定开始一个新的宠物项目。好吧,我使用VirtualBox在我的Vagrant中设置了网站,现在nvm,npm和node都搞砸了。
每次我尝试运行npm install来设置项目中的node_module时,都会收到此错误:
/home/vagrant/.nvm/v0.10.32/lib/node_modules/npm/lib/utils/unsupported.js:27
console.error(`a bug known to break npm. Please update to at least ${r
^
SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /home/vagrant/.nvm/v0.10.32/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object.<anonymous> (/home/vagrant/.nvm/v0.10.32/lib/node_modules/npm/bin/npm-cli.js:92:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
无论我在npm尝试做什么(升级,安装,删除,卸载等),它都会抛出此错误。
有人可以帮助我吗?
答案 0 :(得分:1)
Node v0.10.32不支持您拥有的npm版本。事实上,Node v0.10本身也不受支持,项目正在积极地支持它。如今,大多数依赖项都需要节点v4 +。
您安装的npm版本将在VM中提供:
cat /home/vagrant/.nvm/v0.10.32/lib/node_modules/npm/package.json
您需要在/home/vagrant/.nvm/v0.10.32/lib/node_modules/npm
中的文件中手动提取v2或甚至v1 npm版本之一。
再次删除和设置nvm
v0.10.32
环境也应该将npm
带回工作版本。
我猜你的Vagrant版本会像npm install -g npm
那样在某个阶段起作用,但现在会安装最新的,不兼容的版本。
使用npm install -g npm@2
坚持v2.x版本