来自npm的对等依赖性错误,即使实际依赖性版本正确遵循semver

时间:2014-08-06 07:20:48

标签: npm dependency-management

我尝试npm ERR! invalidnpm 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插件,并再次遇到所有这些错误。

1 个答案:

答案 0 :(得分:8)

如果你碰巧重现它,我打赌你可以通过删除node_modules文件夹,清理缓存并重新安装来解决它:

rm -rf ./node_modules
npm cache clean
npm install

我知道这不是一个真正的答案,但我想这比卸载/重新安装node / npm要好。