我有一个有以下国家预防机制依赖性的项目:
我在VirtualBox VM中(从Ubuntu主机)创建了一个Ubuntu12.04 64位服务器,并运行了以下命令:
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据说已经安装了npm。然后,我使用git克隆来克隆我在CentOS中使用的一个grunt项目(所有这些都在CentOS中工作)。不幸的是,当我运行grunt时,它在试图运行qunit时失败了,其错误如下:
运行"qunit:dist“(qunit)任务测试/home/testuser/myproject/test/index.html 运行PhantomJS...ERROR 为了使此任务正常工作,必须通过NPM在本地安装PhantomJS。如果您看到此消息,通常这意味着NPM安装失败。请提交一个问题,提供尽可能多的细节,在:https://github.com/gruntjs/grunt-lib-phantomjs/issues警告: PhantomJS找不到。继续使用武力。由于警告而中止。
我甚至从grunt文件夹运行npm更新,它仍然存在此错误。
我遗漏了什么?
编辑请注意以下事实:
发布于 2013-07-29 18:14:47
我刚解决了。
sudo apt-get install phantomjs在运行之后,它就能工作了。
我在读了这篇文章之后发现:https://github.com/gruntjs/grunt-lib-phantomjs/issues/22
发布于 2013-07-29 14:59:53
您需要从项目的根运行npm install来安装npm依赖项。
编辑-在做了更多的研究之后,在一个基本的Ubuntu12.04安装上复制了这个问题之后,我终于解决了这个问题。
依赖链如下:
grunt-contrib-qunit >> grunt-lib-phantomjs >> phantomjs
现在,phantomjs包只需安装本地版本的phantomjs,并围绕bin应用程序提供一个JS包装器。问题在于,正如在phantomjs中所提到的,下载页面具有一定的OS级依赖关系。
“.但是,预计系统中将提供呈现所需的一些基本库(FreeType、Fontconfig)和基本字体文件。”
这就是本地幻影安装失败的原因。实际上,当安装成功完成时,错误是非常普遍的,但是幻影is无法运行。
phantomjs NPM模块不处理phantomjs依赖项(因为phantomjs不是一个合适的NPM模块)。
要解决Ubuntu12.04中的问题,需要手动安装phantomjs依赖项,方法是使用以下命令安装字体包:
sudo apt-get install fontconfig
我在“幻影to”NPM项目上创建了一张票证,将关于这些依赖项的说明添加到自述文件:https://github.com/Obvious/phantomjs/issues/80中。
https://stackoverflow.com/questions/17890559
复制相似问题