即使从package.json中删除,node-gyp也会尝试构build依赖项

我是新来的节点,但遇到一个奇怪的问题。 让我概述我的步骤:

  1. 安装具有fabric依赖关系的项目,而这依赖于名为contextify的旧包。 这个项目也使用node-gyp来安装插件。
  2. 运行npm install ,失败时为:
 contextify@0.1.15 install / path / to / project / node_modules / contextify
节点gyp重build

   CXX(target)Release / obj.target / contextify / src / contextify.o
 ....
 ../src/contextify.cc:150:16:错误:在'v8 :: ObjectTemplate'中没有名为'SetAccessCheckCallbacks'的成员
         otmpl-> SetAccessCheckCallbacks(GlobalPropertyNamedAccessCheck,
         ~~~~~ ^
 ...
  1. Googling otmpl->SetAccessCheckCallbacks(GlobalPropertyNamedAccessCheck,给出了一些链接( node-gyp , fabric ),说明这是节点版本的一个已知问题,我有节点7.4,这需要节点6或更早。
  2. 我意识到这个项目实际上并没有使用fabric ,所以我从package.json删除了依赖项
  3. 我删除了我的node_modules文件夹,然后再次运行npm install 。 同样的错误。

现在出现了怪异的部分: npm install (调用node-gyp rebuild )不断尝试构buildcontextify,尽pipe我可以certificate它不再是项目中任何东西的依赖关系!

我试过的:

  • 删除我的节点caching,由npm config get cache输出npm config get cache (即, rm -rf ~/.npm
  • 卸载并重新安装node-gyp
  • 试图寻找这个软件包可能处于半安装状态的地方,例如/usr/local/lib/node_modules

这些似乎都没有工作。 任何线索我能做些什么来阻止npmnode-gyp试图安装这个包? 我愿意彻底放弃我的节点/ npm / node-gyp设置并重新从头开始重新安装,但不太清楚如何正确执行。