即使从package.json中删除,node-gyp也会尝试构build依赖项
我是新来的节点,但遇到一个奇怪的问题。 让我概述我的步骤:
- 安装具有
fabric
依赖关系的项目,而这依赖于名为contextify
的旧包。 这个项目也使用node-gyp
来安装插件。 - 运行
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, ~~~~~ ^ ...
- Googling
otmpl->SetAccessCheckCallbacks(GlobalPropertyNamedAccessCheck,
给出了一些链接( node-gyp , fabric ),说明这是节点版本的一个已知问题,我有节点7.4,这需要节点6或更早。 - 我意识到这个项目实际上并没有使用
fabric
,所以我从package.json
删除了依赖项 - 我删除了我的
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
这些似乎都没有工作。 任何线索我能做些什么来阻止npm
和node-gyp
试图安装这个包? 我愿意彻底放弃我的节点/ npm / node-gyp设置并重新从头开始重新安装,但不太清楚如何正确执行。