如何在Ubuntu服务器12.04 64中安装grunt-contrib-qunit?

Ber*_*iri 0 qunit ubuntu-12.04 gruntjs

我有一个带有以下npm dependancies的grunt项目:

  • 咕噜-的contrib-qunit
  • 咕噜-的contrib罗盘
  • 咕噜-的contrib-jshint

我在VirtualBox VM中创建了一个Ubuntu 12.04 64位服务器(来自Ubuntu主机),并运行以下命令:

sudo apt-get update
sudo apt-get install -y ruby rubygems gcc python make
sudo gem install compass

wget http://nodejs.org/dist/v0.10.15/node-v0.10.15.tar.gz
tar -xzf node-v0.10.15.tar.gz
cd node-v0.10.15/
./configure 
make
sudo make install
cd ../
rm -Rf node-v0.10.1
rm node-v0.10.15.tar.gz 

sudo npm install -g grunt-cli
Run Code Online (Sandbox Code Playgroud)

据说安装了npm.然后我使用git clone来克隆我在CentOS中使用的grunt项目(它在CentOS中都有效).不幸的是,当我运行grunt时尝试使用以下错误运行qunit失败:

运行"qunit:dist"(qunit)任务测试/home/testuser/myproject/test/index.html确定

运行PhantomJS ......错误

为了使此任务正常工作,必须通过NPM在本地安装PhantomJS.如果您看到此消息,通常这意味着NPM安装失败.请提交尽可能详细的问题:https: //github.com/gruntjs/grunt-lib-phantomjs/issues警告:未找到PhantomJS.使用--force继续.

因警告而中止.

我甚至从grunt文件夹运行了npm update,它仍然有这个错误.

我错过了什么?

编辑 请注意以下事实:

  1. 此项目在CentOS中无错误地运行.
  2. 这个项目使用--save-dev在本地安装了所有插件
  3. 通过手动安装每个依赖项来覆盖本地安装并不能解决此问题.
  4. 手动卸载并重新安装每个依赖项并不能解决此问题.

bad*_*tax 5

您需要npm install从项目的根目录运行以安装npm依赖项.

[编辑] - 在做了一些研究之后,在基本的Ubuntu 12.04安装上复制了这个问题之后,我终于找到了这个问题.

依赖链如下:

grunt-contrib-qunit>> grunt-lib-phantomjs>>phantomjs

现在该phantomjs软件包只是安装了本地版本phantomjs,并在bin应用程序周围提供了一个JS api包装器.问题是phantomjs具有某些操作系统级别依赖性,如下载页面中所述:

"......但是,预计系统中可以使用渲染所需的一些基本库(FreeType,Fontconfig)和基本字体文件."

这就是本地phantomjs安装失败的原因.实际上,错误是非常通用的,因为安装成功完成,但phantomjs无法运行.

所述phantomjsNPM模块不处理phantomjs的依赖关系(如phantomjs不正确的NPM模块).

要解决Ubuntu 12.04中的问题,您需要phantomjs通过使用以下命令安装字体包来手动安装依赖项:

sudo apt-get install fontconfig

我在'phantomjs'NPM项目上创建了一张票,在README中添加了关于这些依赖关系的注释:https://github.com/Obvious/phantomjs/issues/80