Travis CI:apt-get 安装了一个版本的 Firefox,但 Firefox 可执行文件仍然是另一个版本?

Travis CI:apt-get 安装了一个版本的 Firefox,但 Firefox 可执行文件仍然是另一个版本?

14.04.5 LTS。

我的 Travis 构建需要 Firefox >=48:https://travis-ci.org/umts/incidents/builds/240872628

所以我sudo apt-get updatesudo apt-get install firefox,这意味着:

Unpacking firefox (53.0.3+build1-0ubuntu0.14.04.2) ...

ETC。

但随后我的自动化测试失败了,显示的消息与我使用内置版本的 Firefox (38.4.0esr) 时的消息完全相同。因此,为了进行健全性检查,我添加了firefox -v 安装,返回:

(process:5877): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Mozilla Firefox 38.4.0

也许那个失败的 C 断言在这里是有意义的?但从表面上看,apt 正在安装软件包的一个版本,但使用该软件包却给了我一个更旧的版本,尽管 apt 没有返回任何错误消息。

在这种情况下,如何成功安装和使用 Firefox >=48?

答案1

在 Travis CI 上,Firefox 已预安装在/usr/bin/X11/firefox,这似乎是 geckodriver 正在使用的版本,无论我是否曾经update-alternatives指定我想要哪一个。

因此我开始构建:

whereis firefox | tr ' ' '\n' | grep bin | xargs sudo rm

删除所有现有版本的 Firefox。然后sudo apt-get updatesudo apt-get install firefox就像我的问题一样。这有效

感谢 Ravexina 提供的调试帮助!

答案2

看来你的 Ubuntu 上安装了两个版本的 Firefox。

使用包管理器安装的版本位于:

/usr/bin/firefox

您的系统正在使用的另一个(我猜您以某种方式手动安装了它)位于:

/usr/local/bin/firefox

使用:

sudo update-alternatives --config x-www-browser

将设置/usr/bin/firefox为您的默认浏览器。您也可以使用绝对路径运行它/usr/bin/firefox,例如查看 Firefox 的版本:

/usr/bin/firefox -v

相关内容