2017-11-10 6 views
2

Google Chrome Puppeteerをpredix-web-starterアプリで使用しようとしています。 Windows上でコードをローカルに実行すると、完璧に動作します。 Predixにプッシュした後、Puppeteerコードを含む部分を実行するとエラーになります。いくつかのライブラリの問題があるようです(何が分からないのか)。 要するに、PuppeteerをPredixで実行させるにはどうすればいいですか?Google Chrome PuppeteerアプリをPredixにプッシュする際のエラー

Predixウェブスターター:https://github.com/PredixDev/predix-webapp-starter 人形遣い:https://www.npmjs.com/package/puppeteer

人形遣いコード:

const puppeteer = require('puppeteer'); 
(async() => { 
const browser = await puppeteer.launch(); 
const page = await browser.newPage(); 
await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle'}); 
await page.pdf({path: 'hn.pdf', format: 'A4'}); 
await browser.close(); 
})(); 

ログ:

2017-11-07T12:40:16.19+0530 [App/0] ERR /home/vcap/app/node_modules/puppeteer/.local-chromium/linux-508693/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory 
2017-11-07T12:40:16.19+0530 [App/0] ERR TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at Interface.close (readline.js:319:8) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at endReadableNT (_stream_readable.js:974:12) 
2017-11-07T12:40:16.19+0530 [App/0] ERR Potentially unhandled rejection [3] Error: Failed to launch chrome! 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at onClose (/home/vcap/app/node_modules/puppeteer/node6/Launcher.js:262:14) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at emitNone (events.js:91:20) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at Interface.emit (events.js:186:7) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at _combinedTickCallback (internal/process/next_tick.js:74:11) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at Interface.helper.addEventListener (/home/vcap/app/node_modules/puppeteer/node6/Launcher.js:251:50) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at Socket.onend (readline.js:106:10) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at emitNone (events.js:91:20) 
2017-11-07T12:40:16.19+0530 [App/0] ERR  at Socket.emit (events.js:186:7) 
2017-11-07T12:41:15.21+0530 [RTR/2] OUT puppeter-arjun-app.run.aws-usw02-pr.ice.predix.io - [2017-11-07T07:10:16.196+0000] "GET /puppeteer HTTP/1.1" 502 0 67 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36" "10.72.11.93:2263" "10.72.2.213:61322" x_forwarded_for:"-" x_forwarded_proto:"http" vcap_request_id:"7d0f3007-914a-42d4-536d-b94eb8d2fb6c" response_time:59.022647288 app_id:"02063159-96d9-43c5-a3e9-77f4e72339f4" app_index:"-" x_b3_traceid:"4f11f468be4b6817" x_b3_spanid:"4f11f468be4b6817" x_b3_parentspanid:"-" 
2017-11-07T12:41:15.21+0530 [RTR/2] OUT 

答えて

0

クロームはおそらく正常に動作するようにインストール多くのパッケージを必要とするためですそのホストに優れたトラブルシューティング文書hereがあります。環境のプロビジョニング方法をある程度制御していることを前提としています。

その他のオプションは、あなたのためにChromeを実行する別のサービスを使用することです(AWSまたはGoogleクラウドで作業することができます)。それはかなりのプロセスです。そのため私はhttps://browserless.ioと書いています。これはターンキーで、人形0.11.0と0.12.0をサポートしています。

あなたは正しい道のりで、幸運を祈ることを望みます!

+0

私は環境を管理していません。だから、主に私は別の方法を見つけ出すか、提案したように別のサービスを使う必要があります。ご協力いただきありがとうございます! –

0

人形が "共有ライブラリ"を使用しようとしているかのように見えますが、これは行方不明であるか、アクセスできません。 Predix Cloud Foundry環境では、サーバーOSへのアクセスは非常に制限されています。コンテナ内のリソースのみを使用することが許可されているため、スケーリングが容易に実行できます。

あなたの目標は何ですか?ブラウザテストを実行しようとしていますか?あなたはSauce Labs、またはTravisでセレンを試すことができます。

+1

いいえ、目標は、コードがレンダリングされるとPDFを生成するようにHTMLをバックエンドでレンダリングすることです。 UIが含まれていないため、バックエンドレンダリングが使用されています。ご協力ありがとうございました! –

関連する問題