官方安装文档:http://gruntjs.com/installing-grunt

按照文档的说明安装完(但没有-g参数),执行grunt,“sh: grunt: command not found” ,WTF?!

紧接着,做了一个链接”ln ~/node_modules/grunt-cli/bin/grunt ~/bin/grunt”,然后掉进第二个坑。运行grunt后提示“Error: Cannot find module ‘findup-sync’”。MD啊,这做的也太撮了把?

经历了一下午爬坑的折腾,终于弄明白了两件事情:

  1. grunt依赖了像findup-sync、resolve坑爹的组件(怎么坑爹的有待细看),他的启动脚本里原文“ Especially badass external libs.”。貌似掉坑的不止我一个
  2. 掉进了硬链接的相对路径不是原始文件路径的坑里,关于软硬链接的简单解释精确解释

使用如下命令创建软链接即可解决:

ln -s ~/node_modules/grunt-cli/bin/grunt ~/bin/grunt

出现问题的原因是,我始终觉得把个人需要的node组件非得加个-g参数,装到整个机器上,是一种很傻X的行为,于是我所有的环境(除了node、mysql这种软件)都是安装到~/下面的,这和工具的提供者思路不一样。而在第二部创建链接的时候又忽略了作者使用相对路径这会事儿。