如何在 Ubuntu 13.04 上安装 grunt?
我尝试通过 NPM 安装它:
sudo npm install -g grunt
然后当我运行 grunt 时:
grunt
但它似乎不起作用,它会引发一个错误:
path.js:313
throw new TypeError('Arguments to path.resolve must be strings');
^ TypeError: Arguments to path.resolve must be strings
at Object.exports.resolve (path.js:313:15)
at Object.<anonymous> (/usr/local/lib/node_modules/grunt/bin/grunt:13:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
以下是有关我拥有的节点版本的一些信息:
$ npm -v
1.3.8
答案1
我相信你想要的是: npm install -g grunt-cli
安装命令行工具。你在每个项目中本地安装 grunt(和模块)
这里有文档支持我的话;http://gruntjs.com/getting-started
答案2
我刚刚从 PPA 安装了 grunt。下面是我必须采取的完整步骤列表,才能获得有效的 grunt 构建:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
# remove a conflicting install of npm that I had tried earlier
sudo apt-get update && sudo apt-get -y dist-upgrade
sudo npm install -g grunt grunt-cli grunt-contrib-clean grunt-replace grunt-contrib-concat grunt-contrib-watch grunt-contrib-jasmine grunt-contrib-connect grunt-saucelabs grunt-gitinfo
答案3
看起来当有两个版本的 grunt 时就会发生错误。
要了解您是否安装了两个版本的 grunt,请在 CLI 中运行:
where grunt
或者which grunt
如果你看到多个版本的 grunt:
/usr/local/bin/grunt
/usr/bin/grunt
/usr/local/bin/grunt
/usr/bin/grunt
然后你只需删除其中一个:
rm /usr/local/bin/grunt
写了一篇在此发布了解更多信息。