centos nodeとpuppeteerのインストール
1.centosインストールnode
(1).wgetダウンロードソース
https://nodejs.org/distこのディレクトリの下で各バージョンのソースコードを見つけることができます
(2).解凍
(3).ソフト接続を構成nodeがグローバルで使用できるようにするには、ソフト接続を追加し、構成が完了すれば使用できます.
(4).node-vのテスト
npm -v
Nodeのインストールが完了すると、対応するnpmもダウンロードしてインストールが完了します.
ps:参照:https://github.com/nodejs/hel...
2.puppeteerのインストールの問題
(1)puppeteerで自動化するにはChromeブラウザをインストールする必要がある
(2)puppeteerのインストールおよびextraで発生した問題
Q1:(node:19180) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!/data/www/vhosts/aps_task/httpdocs/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux/chrome: error while loading shared libraries: libXcomposite.so.1: cannot open shared object file: No such file or directory
TROUBLOSHOTING:https://github.com/GoogleChro... A:ブラウザをインストールした後、依存する拡張子をインストールする必要があるため、具体的にはhttps://github.com/GoogleChro...を見て、インストールが完了した後、実行してください.
一部のパッケージがエラーを報告した場合、実行できます.
Q:2(node:20844) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!/data/www/vhosts/aps_task/httpdocs/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux/chrome: symbol lookup error:/lib64/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenTypeDouble
/lib64/libpangoft2-1.0.so.0このファイルは存在しますが、エラーの原因は、現在インストールされているのは1.42バージョンで、バージョンが高すぎて、解決方法は低バージョンをインストールすればいいので、公式にもバグレポートが出て、この問題があります.これを参照:https://bugs.archlinux.org/ta...
解決方法:1.yumでインストールした後、pangoをアンインストールします.注意アンインストールyum removeは依存するパッケージもアンインストールされるので使用しないでください.使用
2.注意:gtk 3はインストールされ、pangoパッケージが更新されます.すべての操作は、完全なパッケージをインストールした後に行う必要があります.
3.手動で1.40バージョンをダウンロードし、yumを使用してダウンロードアドレスをローカルにインストールします:https://buildlogs.centos.org/...具体的なアドレス:https://buildlogs.centos.org/...
Q.3 Sandboxについて、(node:32577)UnhandledPromiseRejectionWarning:Error:Failed to launch chrome!
(chrome:32588): Gtk-WARNING **: 01:34:12.473: cannot open display:
argsパラメータに
(1).wgetダウンロードソース
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
https://nodejs.org/distこのディレクトリの下で各バージョンのソースコードを見つけることができます
(2).解凍
xz -d node-v10.15.3.tar.xz
tar -xvf node-v10.15.3.tar
(3).ソフト接続を構成nodeがグローバルで使用できるようにするには、ソフト接続を追加し、構成が完了すれば使用できます.
ln -s /usr/local/node-v10.15.3/bin/node /usr/local/bin/node
ln -s /usr/local/node-v10.15.3/npm /usr/local/bin/npm
(4).node-vのテスト
v10.15.3
npm -v
6.8.0
Nodeのインストールが完了すると、対応するnpmもダウンロードしてインストールが完了します.
ps:参照:https://github.com/nodejs/hel...
2.puppeteerのインストールの問題
(1)puppeteerで自動化するにはChromeブラウザをインストールする必要がある
, puppeteer chromium, git ,
( docker chromium, , https://docs.browserless.io/docs/docker-quickstart.html)
(2)puppeteerのインストールおよびextraで発生した問題
Q1:(node:19180) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!/data/www/vhosts/aps_task/httpdocs/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux/chrome: error while loading shared libraries: libXcomposite.so.1: cannot open shared object file: No such file or directory
TROUBLOSHOTING:https://github.com/GoogleChro... A:ブラウザをインストールした後、依存する拡張子をインストールする必要があるため、具体的にはhttps://github.com/GoogleChro...を見て、インストールが完了した後、実行してください.
yum update nss -y
一部のパッケージがエラーを報告した場合、実行できます.
yum update glib2 -y
Q:2(node:20844) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!/data/www/vhosts/aps_task/httpdocs/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux/chrome: symbol lookup error:/lib64/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenTypeDouble
/lib64/libpangoft2-1.0.so.0このファイルは存在しますが、エラーの原因は、現在インストールされているのは1.42バージョンで、バージョンが高すぎて、解決方法は低バージョンをインストールすればいいので、公式にもバグレポートが出て、この問題があります.これを参照:https://bugs.archlinux.org/ta...
解決方法:1.yumでインストールした後、pangoをアンインストールします.注意アンインストールyum removeは依存するパッケージもアンインストールされるので使用しないでください.使用
rpm -e --nodeps package_name
rpm -e --nodeps pango.x86_64
2.注意:gtk 3はインストールされ、pangoパッケージが更新されます.すべての操作は、完全なパッケージをインストールした後に行う必要があります.
3.手動で1.40バージョンをダウンロードし、yumを使用してダウンロードアドレスをローカルにインストールします:https://buildlogs.centos.org/...具体的なアドレス:https://buildlogs.centos.org/...
yum localinstall package_name
yum localinstall pango-1.40.x86_64.rpm
Q.3 Sandboxについて、(node:32577)UnhandledPromiseRejectionWarning:Error:Failed to launch chrome!
(chrome:32588): Gtk-WARNING **: 01:34:12.473: cannot open display:
argsパラメータに
['--no-sandbox', '--disable-setuid-sandbox']
を加えて砂除去箱に配置await puppeteer.launch({
headless: true,
//Setting Up Chrome Linux Sandbox,
args: ['--no-sandbox', '--disable-setuid-sandbox']
})