Gulp错误(找不到模块)

11

根据一篇文章(URL我不记得了),我已经在本地安装了npm,所以我的npm软件包位于~/.npm-packages/。所以gulp位于~/.npm-packages/bin/gulp,这是一个链接:gulp -> ../lib/node_modules/gulp/bin/gulp.js

当我运行which gulp时,我得到/home/victor/.npm-packages/bin/gulp

当我进入bin目录并像./gulp.js -v这样运行gulp时,我可以看到它工作正常。然而,当我全局运行gulp时,我会遇到这样的错误:

module.js:338
    throw err;
          ^
Error: Cannot find module '/usr/lib/node_modules/gulp/node_modules/v8flags/3.28.73.flags.json'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/usr/lib/node_modules/gulp/bin/gulp.js:25:22)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)

所以gulp试图在/usr/lib中查找模块,但为什么?为什么不在我的主目录中?我在~/.npm-packages/lib/node_modules/gulp/node_modules中拥有所有这些模块。

我非常困惑,无法让gulp工作。我尝试重新安装它,但效果相同。


1
你的项目本地是否安装了gulp?你应该只使用可执行文件的全局包。https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md - Ben
我遇到了相同的问题,这个链接对我有帮助:https://github.com/gulpjs/gulp/issues/958 - mikedidthis
2个回答

10

这是我解决问题的步骤:

  1. cd /usr/lib/node_modules/gulp/node_modules/v8flags
  2. sudo node fetch.js

就这样。最后一条指令将创建所需的文件。


3
这是我解决问题的方法:
sudo npm install gulp && sudo npm install --save del && sudo gulp build

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接