npm安装失败,因为在registry中缺less包
我在使用节点和早午餐的项目中遇到问题。 这个问题是目前特定于早午餐,但任何模块可能会发生我的猜测。
当前重现这个最简单的方法是在一个新文件夹中执行以下操作:
npm init npm install --save-dev brunch
这里的问题是,早午餐取决于loggy,而loggy又取决于ansi-color,在npmregistry中不再有条目:
https://registry.npmjs.org/ansi-color
我想这可能是github项目: https : //github.com/loopj/commonjs-ansi-color
无论如何,我无法继续,我们所有的构build失败,因为他们无法获取给定的依赖。
我可以以某种方式使用npm shrinkwrap,但这取决于node_modules中现有的模块,目前我缺less这些模块。
那么我怎么能强制npm从不同的位置使用ansi-color,或者忽略依赖关系呢?
不知道关于npm 2,但你可以用beta npm 3来解决这个问题.npm 3具有扁平的node_modules目录。 所以子模块可以坐在顶层。 阅读更新日志 。
缺less的模块可以直接从他们的Github仓库安装,作为项目的顶层依赖。 如果npm在node_modules
目录中find具有相同版本的模块,则不会在registry中查找该模块。
安装npm 3:
npm install -g npm@3-latest
然后安装依赖关系:
//install missing module from other location npm install https://github.com/loopj/commonjs-ansi-color.git --save-dev npm install --save-dev brunch
它看起来像ansi颜色回到npmregistry(“ https://registry.npmjs.org/ansi-color ”重新在线)