为什么在开始风帆时出现关于Grunt的错误

时间:2015-08-13 20:39:12

标签: node.js gruntjs sails.js

我使用节点0.12.2并且航行0.10.5

完成后

sudo npm install
风帆无法升起。我必须

sudo npm install cookie 

然后

sudo npm install connect

使帆升起。然后它会显示如下错误:

error: Grunt :: module.js:338
   throw err;
      ^
Error: Cannot find module '/home/ec2-user/someuser/node_modules/sails/node_modules/grunt-cli/bin/grunt'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3

sudo npm install grunt-cli 

什么都不做。也不是全球安装。

sudo npm -g install grunt-cli
/usr/local/bin/grunt -> /usr/local/lib/node_modules/grunt-cli/bin/grunt
/usr/local/lib
└── grunt-cli@0.1.13 

[ec2-user@ip-172-*****]$ sails lift

info: Starting app...

error: Grunt :: module.js:338
throw err;
      ^
Error: Cannot find module '/home/ec2-user/someuser/node_modules/sails/node_modules/grunt-cli/bin/grunt'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3

帆还可以解除,但是这个错误来自何处以及如何摆脱它?

2 个答案:

答案 0 :(得分:3)

错误信息很好地描述了什么是错误的

Error: Cannot find module '/home/ec2-user/someuser/node_modules/sails/node_modules/grunt-cli/bin/grunt'
缺少

grunt-cli。您需要使用(可能需要sudo)

来安装它
npm install grunt-cli -g

答案 1 :(得分:2)

修改:确保从sails项目文件夹中运行sails lift。 (对我而言,你似乎是从root运行它,这可能是问题的原因)

否则,我在此留下其他建议:

全球安装风帆:npm -g install sails 全局安装grunt:npm -g install grunt-cli

如果在运行npm install后问题仍然存在,则很可能与权限问题有关。您可以使用以下两个选项之一修复此权限问题:

  • 将权限更改为npm的默认目录。
  • 将npm的默认目录更改为另一个目录。

我推荐后者。 以下是NPM人员关于如何做到这两点的官方指南: https://docs.npmjs.com/getting-started/fixing-npm-permissions