我尝试npm ERR! invalid
或npm ls
时出现npm install
错误,似乎npm错误地认为对等方有不兼容的版本。一个很好的例子(我一次得到几个):
npm WARN unmet dependency /MYLOCALPROJECTDIRECTORY/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/imagemin-gifsicle requires image-type@'^0.1.1' but will load
npm WARN unmet dependency /MYLOCALPROJECTDIRECTORY/node_modules/grunt-contrib-imagemin/node_modules/imagemin/node_modules/image-type,
npm WARN unmet dependency which is version 0.1.4
根据semver的规则,插入符号" ^"运算符应该匹配^0.1.1
的需求与版本0.1.4
的实际依赖关系。
我使用Homebrew(两个最新的稳定版)安装了Node v0.10.30和npm v1.4.23,运行OS X Mountain Lion。我很欣赏有关如何可靠地重现这一点的提示 - 上次我完全卸载/重新安装了Node和npm,相同的本地npm模块和所有内容,并且再次找不到错误。第二天回来工作,尝试安装一些grunt插件,并再次遇到所有这些错误。
答案 0 :(得分:8)
如果你碰巧重现它,我打赌你可以通过删除node_modules文件夹,清理缓存并重新安装来解决它:
rm -rf ./node_modules
npm cache clean
npm install
我知道这不是一个真正的答案,但我想这比卸载/重新安装node / npm要好。