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