CentOS6系へのChrome/Chromiumのインストール
E2Eテストのために開発環境(VirtualBox)のCentOS (6.9)にChromeをインストールしてheadlessモードで使おうとした際のメモ。
簡単に言うと、出来ません。
方法はあるにはあるけれど、古いバージョンしか入らない感じ。
Chrome
まずChromeを入れようと試行錯誤して、
https://qiita.com/camopy/items/c7eda82f41c903bec298
にたどり着き試すものの、
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libgtk-3.so.0()(64bit)
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libatk-bridge-2.0.so.0()(64bit)
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libc.so.6(GLIBC_2.14)(64bit)
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libgdk-3.so.0()(64bit)
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
エラー: パッケージ: google-chrome-stable-65.0.3325.146-1.x86_64 (google-chrome)
要求: libc.so.6(GLIBC_2.15)(64bit)
問題を回避するために --skip-broken を用いることができません
という感じのエラー。
libgtk-3系について更に調べたらCentOS6系はサポートされていないことが分かり断念。
更に
https://qiita.com/Tats_U_/items/b0c9077bf5a2111f8e2a#chrome%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
にたどり着き
https://chrome.richardlloyd.org.uk/
に行くものの、こちらでもChrome version59以降GTK+3問題に行き当たりサポート終了したとのこと。
要はどんな方法にせよGTK+3が無いと駄目らしい。
Chromium
Chromeではなく、Chromiumというプロジェクトがあるらしい、と聞きそちらならインストールできるんじゃなか?と思って試してみる。
だれかが用意してくれたyumリポジトリもあるらしいけど、信用できるのか分からないし、メンテされるのかも分からないのでまずは公式の方法を試す。
http://www.chromium.org/getting-involved/download-chromium
にある
https://github.com/scheib/chromium-latest-linux
を使う。
gitリポジトリをダウンロードして update-and-run.sh を使ってみる。
インストールは成功
しかし、実行してみると、、、
error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
libXssで調べると、どうやらlibXScrnSaverというのを入れればいいらしい。
これはyumでインストールできる
sudo yum install libXScrnSaver
インストール出来た。改めて実行!
error while loading shared libraries: libatk-bridge-2.0.so.0: cannot open shared object file
libatk-bridge-2を調べると、これもCentos6系にはない模様。。。
この方法は詰んだ。。。
仕方ないので
https://www.centos.org/forums/viewtopic.php?t=44855
とかで紹介されている信用できるかわからないyumレポジトリを使う方法を試してみる。
cd /etc/yum.repos.d
sudo wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo
sudo yum install chromium
インストール出来た
待て待て、ちゃんと動くかな?
```
$ chromium-browser
Xlib: extension "RANDR" missing on display ":1".
[14:14:0312/093659:ERROR:base_feature_provider.cc(122)] manifestTypes: Allowing web_page contexts requires supplying a value for matches.
[12547:12547:0312/093659:ERROR:base_feature_provider.cc(122)] manifestTypes: Allowing web_page contexts requires supplying a value for matches.
Xlib: extension "RANDR" missing on display ":1".
```
ディスプレイがどうの、と言ってるけど動きそう!?
ディスプレイは無いからかな。headlessモードだとどうだろう?
$ chromium-browser --headless --disable-gpu --dump-dom https://www.google.co.jp/
Xlib: extension "RANDR" missing on display ":1".
ん?やっぱり動かない?
バージョンいくつだろう?
$ chromium-browser --version
Chromium 31.0.1650.63 Built from source for CentOS release 6.5 (Final)
Chromium 31.0.1650.63 Built from source for CentOS release 6.5 (Final)
終了。。。
headlessモードが搭載されたのはChrome 59かららしい。
こんな古いバージョンではだめ。
そもそも色々試すためにも最新のchromeを入れたかった。。。
まとめ
自分はここでCentOS6にchrome/chromiumを入れるのは諦めました。
絶対に方法が無いかどうかは分かってませんので、更に色々挑戦してみることは止めません。
自分は、開発機(VirtualBox)のCentOSを7系にするか、開発時はホスト側(mac)上で動作させることを検討します。
なお、CI環境(CircleCI)ではデフォルトでchrome入ってそうだったのでこの苦労はなさそう。
Author And Source
この問題について(CentOS6系へのChrome/Chromiumのインストール), 我々は、より多くの情報をここで見つけました https://qiita.com/sakaeda11/items/f00ad2455d248e1608e1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .