我对使用节点和早午餐的项目存在问题。问题是当前特定于早午餐的问题,但任何模块都可能出现这个问题。
目前重现此方法的最简单方法是在新文件夹中执行以下操作:
npm init
npm install --save-dev brunch
这里的问题是早午餐取决于loggy,而log依赖于ansi-color,它在npmregistry中不再有条目:
https://registry.npmjs.org/ansi-color
我认为这可能是github项目:https://github.com/loopj/commonjs-ansi-color
在任何情况下,我都无法继续,我们的所有构建都会失败,因为它们无法获取给定的依赖项。
我可能会以某种方式使用npm shrinkwrap,但这取决于node_modules中已存在的模块,我目前缺少这些模块。
那么如何强制npm从其他位置使用ansi-color,或忽略依赖?
答案 0 :(得分:4)
不确定npm 2,但你可以用beta npm 3解决这个问题.npm 3有flat node_modules目录。所以子模块可以位于顶层。阅读Changelog。
缺少的模块可以直接从他们的Github仓库安装,作为项目中的顶层依赖项。如果npm在node_modules
目录中找到具有相同版本的模块,它将不再在注册表中查找它。
安装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
答案 1 :(得分:-1)
似乎ansi-color回到了npm注册表(" https://registry.npmjs.org/ansi-color"重新上线)