根据一篇文章(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工作。我尝试重新安装它,但效果相同。