Error: Cannot find module 'semver'
at Function.Module._resolveFilename (module.js:555:15)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
Cannot find module ‘xxxxx’ 遇到这种问题,
我试过:
npm install semver
npm install -g socket.io
这样是不行的。
然后找到另外一种解决方案。
首先要先看看自己的npm是否有用。检查方法:打开终端,然后输入
npm -v
如果报错,那么就要重新安装一下npm,首先先讲原来的npm删除掉,方法是:
可以到全局的npm包看一下,路径是:
/usr/local/lib/node_modules/npm
进入npm的node_modules中的semver文件夹可以看到里面变成空的了!或者是根本没有,这下咱们就知道为啥报semver这个module找不到了吧!
1.先删除全局的npm包:也就是把刚才提到的/usr/local/lib/node_modules/npm,这个npm文件夹删除掉
2.终端cd到/usr/local/lib/node_modules这个目录,从GitHub上重新clone下git包
git clone --recursive git://github.com/isaacs/npm.git
这样新的npm包就回到了全局node_modules中
再用:
npm -v
在终端里面检测一下。如果能打印出版本,那就没问题了。