【问题标题】:Gulp error (module not found)Gulp 错误(未找到模块)
【发布时间】:2015-06-03 11:36:09
【问题描述】:

我根据一篇文章在本地安装了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 工作。我试过重新安装,效果一样。

【问题讨论】:

标签: node.js npm gulp


【解决方案1】:

这是我为解决问题所做的:

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

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

【讨论】:

    【解决方案2】:

    这是我为解决问题所做的:

    sudo npm install gulp && sudo npm install --save del && sudo gulp build
    

    【讨论】: