Problems with rfbrowser init

I have try installation at company network and I have problems with grpc

> grpc@1.24.3 install c:\users\xxxx\py37\venv\lib\site-packages\Browser\wrapper\node_modules\grpc

> node-pre-gyp install --fallback-to-build --library=static_library

 

node-pre-gyp WARN Using needle for node-pre-gyp https download

node-pre-gyp WARN Tried to download(400): https://node-precompiled-binaries.grpc.io/grpc/v1.24.3/node-v72-win32-x64-unknown.tar.gz

node-pre-gyp WARN Pre-built binaries not found for grpc@1.24.3 and node@12.13.0 (node-v72 ABI, unknown) (falling back to source compile with node-gyp)

There is a way to download binaries from other url using --grpc_node_binary_host_mirror, but looks like it only affects to node-v72-win32-x64-unknown.tar.gz and then https://node-precompiled-binaries.grpc.io/grpc-tools/v1.9.1/win32-x64.tar.gz download will still failing

Work around for this problem is to install request (https://github.com/grpc/grpc-node/issues/922)

pip install robotframework-browser
cd venv\Lib\site-packages\Browser\wrapper
npm install request
npm install --production

But request has been deprecated, see https://github.com/request/request/issues/3142

And at Jenkins which have more limited accesses, even request installation not help.

14:42:26  node-pre-gyp WARN Pre-built binaries not installable for grpc@1.24.3 and node@12.16.1 (node-v72 ABI, glibc) (falling back to source compile with node-gyp) 
14:42:26  node-pre-gyp WARN Hit error getaddrinfo ENOTFOUND node-precompiled-binaries.grpc.io 
14:42:26  gyp WARN install got an error, rolling back install
14:42:26  gyp ERR! configure error 
14:42:26  gyp ERR! stack Error: This is most likely not a problem with node-gyp or the package itself and
14:42:26  gyp ERR! stack is related to network connectivity. In most cases you are behind a proxy or have bad 

Also grpc will be deprecated at 2021 https://www.npmjs.com/package/grpc

Any tips for pre-built binaries issue? I’m not familiar with node.js, so all tips are welcome :slight_smile:

Env in windows laptop and in Jenkins linux node

  • python: 3.7.x
  • node: 12.x
  • npm: 6.x

Please retry installation with the Browser 2.0 release. We have changed the library dependencies and this should not be a problem anymore.

No more grpc problems, but still not working. Any workaround for this?

12:55:11  + rfbrowser init
12:57:17  Installing node dependencies...
12:57:17  Installing rfbrowser node dependencies at /home/jenkins/.local/lib/python3.7/site-packages/Browser/wrapper
12:57:17  npm WARN deprecated tslint@6.1.3: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.
12:57:17  
12:57:17  npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
12:57:17  
12:57:17  npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
12:57:17  
12:57:17  npm WARN deprecated gulp-header@1.8.12: Removed event-stream from gulp-header
12:57:17  
12:57:17  npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
12:57:17  
12:57:17  npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
12:57:17  
12:57:17  
12:57:17  
12:57:17  > playwright@1.5.2 install /home/jenkins/.local/lib/python3.7/site-packages/Browser/wrapper/node_modules/playwright
12:57:17  
12:57:17  > node install.js
12:57:17  
12:57:17  
12:57:17  
12:57:17  (node:334) UnhandledPromiseRejectionWarning: Error: getaddrinfo ENOTFOUND playwright.azureedge.net
12:57:17  
12:57:17      at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26)
12:57:17  
12:57:17  (node:334) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
12:57:17  
12:57:17  (node:334) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
12:57:17  
12:57:17  npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {"node":"<8.10.0"} (current: {"node":"12.16.1","npm":"6.13.4"})
12:57:17  
12:57:17  npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0
12:57:17  
12:57:17  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
12:57:17  
12:57:17  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
12:57:17  
12:57:17  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/watchpack-chokidar2/node_modules/chokidar/node_modules/fsevents):
12:57:17  
12:57:17  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
12:57:17  
12:57:17  npm WARN robotframework-playwright@2.0.0 No description
12:57:17  
12:57:17  npm WARN robotframework-playwright@2.0.0 No repository field.
12:57:17  
12:57:17  
12:57:17  
12:57:17  npm ERR! code ELIFECYCLE
12:57:17  
12:57:17  npm ERR! errno 1
12:57:17  
12:57:17  npm ERR! playwright@1.5.2 install: `node install.js`
12:57:17  
12:57:17  npm ERR! Exit status 1
12:57:17  
12:57:17  npm ERR! 
12:57:17  
12:57:17  npm ERR! Failed at the playwright@1.5.2 install script.
12:57:17  
12:57:17  npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
12:57:17  
12:57:17  
12:57:17  
12:57:17  npm ERR! A complete log of this run can be found in:
12:57:17  
12:57:17  npm ERR!     /ciop/tools/nodejs/node-v12.16.1-linux-x64/lib/node_modules/npm/cache/_logs/2020-10-30T10_57_04_789Z-debug.log
12:57:17  
12:57:17  rfbrowser init completed

That seems like an error with your Internet. Playwright keeps the browser binaries in a custom location and it’s possible that your vpn/firewall/antivirus software doesn’t allow connection.

You could try to disable example each of the above programs one by one and see does it help.