问题描述
我有一个命令行-only Ubuntu 11.04(GNU /Linux 2.6.35.4-rscloud x86_64),并且正在通过Angular Phonecat tutorial(使用Karma进行测试)进行工作。 Karma browser config page表示Chrome启动器“默认情况下与Karma一起发货”。
但这对我不起作用。 This is the karma.conf.js。以下是输出。
$ ./scripts/test.sh
Starting Karma Server (http://karma-runner.github.io)
-------------------------------------------------------------------
INFO [karma]: Karma v0.10.4 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
ERROR [launcher]: Cannot start Chrome
Can not find the binary google-chrome
Please set env variable CHROME_BIN
This answer指出我需要 chrome 。
因此,我尝试通过“使用命令行下载64位版本”在this guide上的Ubuntu上安装Chrome。一切顺利,直到sudo apt-get -f install
为止,结果以很多“无法从” ubuntu IP地址“获取”结束,例如91.189.91.15或91.189.92。 google-chrome”消失了,但单个测试级别上仍然显示“无法启动Chrome”。然后,在尝试修复错误时,我删除了/usr /bin /googlesomething。
目前,我有以下node_modules:
angular-phonecat/node_modules$ ls
karma karma-html2js-preprocessor karma-requirejs
karma-chrome-launcher karma-jasmine karma-script-launcher
karma-coffee-preprocessor karma-junit-reporter
karma-firefox-launcher karma-phantomjs-launcher
问题1:由于我的计算机只能访问命令行,而没有GUI,因此另一个Karma启动器PhantomJS是否比Chrome /Chromium更好的选择?
问题2:如果我仍然应该使用Chrome /Chromium,我应该得到Chrome或Chromium吗?
问题3:有人知道我到底需要什么才能获得google-chrome或 chrome 才能使Karma在Angular应用程序中工作?
最佳回答
我将在路德维希的第三点上为寻求答案的人和将来自己的参考作进一步的阐述…
您需要做的第一件事是找到chromium-browser
的安装位置。跑:
which chromium-browser
这将返回可执行文件的路径,如下所示:
/usr/bin/chromium-browser
然后只需设置路径:
export CHROME_BIN=/usr/bin/chromium-browser
现在,Karma可以找到执行测试所需的浏览器(假设您已决定使用图形界面)。
次佳回答
-
如果只有命令行接口,则PhantomJS是您的唯一选择。
-
在Linux(至少12.04及更高版本)中, chrome 是替代方法。但是,如果没有图形用户界面,则无法安装。
-
线索在这里:“请设置环境变量CHROME_BIN”。业力试图执行一个名为
google-chrome
的文件,但该文件不存在。 chrome可执行文件的名称因操作系统而异。因此,您需要设置一个名为CHROME_BIN的环境变量,该变量具有chrome可执行文件名称的值。在我的系统(Linux桌面13.10)上,这是chromium-browser
。