为什么在启动帆的时候会出现Grunt的错误?



我使用节点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

船帆仍然可以抬起,但是这个错误是从哪里来的,如何消除它?

错误信息很好地描述了错误的地方

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

Edit:确保您正在从您的sails项目文件夹运行sails lift。(对我来说,它看起来像是你从根运行它,这可能是问题的原因)

否则,我把我的其他建议留在这里:

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

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

  • 修改npm默认目录的权限。
  • 将npm的默认目录更改为其他目录。

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

最新更新