【问题标题】:Installing Chromium on Amazon Linux在 Amazon Linux 上安装 Chromium
【发布时间】:2018-01-27 20:20:11
【问题描述】:

我正在尝试在 Amazon Linux 机器上安装 Chromium(或 Chrome,无论哪个)。

我尝试了很多步骤,但无济于事。这是我尝试过的:

简单的 Yum 安装

yum install epel       # worked
yum install chromium

生成的错误信息:

Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgnome-keyring.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgtk-x11-2.0.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgdk_pixbuf-2.0.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libXss.so.1()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgdk-x11-2.0.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libcanberra-gtk2(x86-64)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libatk-1.0.so.0()(64bit)

yum 安装特定 RPM 包

我尝试下载 Chrome RPM,the latest stable version 以及特定版本,然后运行

yum install google-chrome-stable-64.0.3282.119-1.x86_64.rpm

它产生了同样的错误信息

手动程序

https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/532015/下载的二进制文件

运行它会生成错误消息

加载共享库时出错:libXcursor.so.1: cannot open shared object file: No such file or directory

我跑了

yum install libXcursor
yum install libXfixes     # because chrome was then complaining about that library
yum install libXdamage    # and subsequently that one

这一切都奏效了。

然而,Chrome 开始抱怨 libcups 库:

加载共享库时出错:libcups.so.2:无法打开共享对象文件:没有这样的文件或目录

libcups 没有被 yum 找到,看来这是因为它是一个 32 位的库。一些页面建议安装ia32-libs作为解决方案,但运行yum install ia32-libs显示它已经安装了。

我无法超越这一点。

其他

  • 我也尝试了here 中提到的步骤,但没有奏效
  • 有些页面指向使用 dpkg,但显然 Amazon Linux 上不存在该命令
  • apt两者都没有

【问题讨论】:

  • 为什么要这样做?如果您可以在 AWS 上拥有完整的开发环境,我建议您改用 Ubuntu。 AWS Linux 真的不想图形化(我已经走上了这条路,结果和你一样不开心)。
  • @kdgregory 感谢您的评论。我实际上不是在寻找图形,而是在无头模式下使用 chrome。我实际上只是将 AWS 用作测试我在 Linux 而不是 Mac 上所做的事情的地方
  • sudo yum install libX11 Gconf2 fontconfig
  • @palafox,谢谢,我会试试的。你真的在 AWS 上做过吗?
  • @VicSeedoubleyew 也许这可以帮助你gist.github.com/palafoxernesto/38efba25b845ba3f34b96d008c2415f5

标签: amazon-web-services google-chrome amazon-ec2 chromium amazon-linux


【解决方案1】:

这些答案都没有,工作,也没有一个真正解决亚马逊 linux 的问题,

如果您使用 EC2 实例或运行 Amazon linux 的任何其他服务器,要真正解决问题,您应该按照以下步骤操作。

  1. 通过运行命令为 Enterprise Linux 启用和安装 Extra Packages

    sudo amazon-linux-extras install epel -y
    
  2. 成功安装所有额外的包后,照常安装 chromimum

    sudo yum install -y chromium
    

一旦你这样做了,Chromium 将拥有所有必需的内容,例如 libatk* libgdk* 等 ...

您应该能够轻松启动 Chromium

您在此处查看的错过的软件包实际上并没有错过,它们是一种默认设置,您只需启用它们即可,这在 AWS 文档中有详细记录。

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-enable-epel/

【讨论】:

  • 非常感谢!我现在没有时间专门测试它,但它听起来很相关,希望它可以帮助其他人。感谢分享!
  • 很好的答案,这对我来说效果很好。
  • 也为我工作,这太棒了
  • 适用于 Amazon Linux 2,但不适用于 t2.micro 或 t2.small,因为内存不足。适用于 t2.medium。
【解决方案2】:

为了让 headless chrome 在 Lambda 上运行,我部署了一个相同的 AMI 作为 EC2 实例(当前为 amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2)。安装 chrome 后,通常会出现一系列缺少依赖项的情况。

参考:https://medium.com/mockingbot/run-puppeteer-chrome-headless-on-ec2-amazon-linux-ami-6c9c6a17bee6

导航到包含 chrome 可执行文件的文件夹并使用 ldd 检查缺少的依赖项:

$ ldd chrome | grep not
libpangocairo-1.0.so.0 => not found
libpango-1.0.so.0 => not found
libcairo.so.2 => not found
libXcursor.so.1 => not found
libXdamage.so.1 => not found
libXfixes.so.3 => not found
libcups.so.2 => not found
libXss.so.1 => not found
libXrandr.so.2 => not found
libgconf-2.so.4 => not found
libatk-1.0.so.0 => not found
libgtk-3.so.0 => not found
libgdk-3.so.0 => not found
libgdk_pixbuf-2.0.so.0 => not found

安装以下内容:

$ sudo yum install cups-libs dbus-glib libXrandr libXcursor libXinerama cairo cairo-gobject pango

再次检查:

$ ldd chrome | grep not
libXss.so.1 => not found
libgconf-2.so.4 => not found
libatk-1.0.so.0 => not found
libgtk-3.so.0 => not found
libgdk-3.so.0 => not found
libgdk_pixbuf-2.0.so.0 => not found

我们需要从一大堆 RPM 中获取这些依赖项:

# Install ATK from CentOS 7
$ sudo rpm -ivh --nodeps http://mirror.centos.org/centos/7/os/x86_64/Packages/atk-2.22.0-3.el7.x86_64.rpm
$ sudo rpm -ivh --nodeps http://mirror.centos.org/centos/7/os/x86_64/Packages/at-spi2-atk-2.22.0-2.el7.x86_64.rpm
$ sudo rpm -ivh --nodeps http://mirror.centos.org/centos/7/os/x86_64/Packages/at-spi2-core-2.22.0-1.el7.x86_64.rpm
# Install GTK from fedora 20
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/os/Packages/g/GConf2-3.2.6-7.fc20.x86_64.rpm
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libXScrnSaver-1.2.2-6.fc20.x86_64.rpm
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libxkbcommon-0.3.1-1.fc20.x86_64.rpm
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libwayland-client-1.2.0-3.fc20.x86_64.rpm
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libwayland-cursor-1.2.0-3.fc20.x86_64.rpm
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/os/Packages/g/gtk3-3.10.4-1.fc20.x86_64.rpm
# Install Gdk-Pixbuf from fedora 16
$ sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/16/Fedora/x86_64/os/Packages/gdk-pixbuf2-2.24.0-1.fc16.x86_64.rpm

这应该会解决所有依赖项,并且 chrome 应该能够运行,终于!!

【讨论】:

  • 谢谢你。最近为 ElasticBeanstalk 跑步。创建 this gist 以将所有这些作为配置文件运行,而不是在机器上运行。
  • 谢谢!我快疯了如何找到丢失的包裹......
【解决方案3】:

我通过 CodeBuild 启动的 AWS Ubuntu 使用 chromium 进行无头测试。我发现我必须更新节点并安装一组铬依赖项。

#!/bin/sh
echo "Installing nodejs (which will include node and npm)"
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs  
echo "Installing chromium dependencies"
apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

【讨论】:

    猜你喜欢
    • 2017-04-02
    • 2014-09-19
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2020-11-14
    • 2016-01-25
    相关资源
    最近更新 更多