- Vá na página do projeto Node.js
- Baixe a versão correspondente do Node ao sistema operacional e processador de seu computador/servidor
- Para quem tem computadores 32bits padrão AMD/Intel, utilize o Linux Binaries (x86/x64) 32-bit
- Para quem tem computadores 64bits padrão AMD/Intel, utilize o Linux Binaries (x86/x64) 64-bit
- Usuário do Raspbian utilizem o Linux Binaries (ARM) – ARMv7 (mesmo os que tem Raspberry 3. O sistema operacional limita o uso do processador versão 64 para 32, de modo a distribuição simplificar a produção e manutenção da distribuição Raspbian)
- Caso tenha um Rock64, utilize a versão binária do Node.js para ARM64 (Linux Binaries (ARM) – ARMv8)
- Após baixar, descompacte o arquivo em /opt
- Deverá ter sido criado uma pasta contendo a versão. Num ARM64, a pasta criada seria:
- /opt/node-v9.4.0-linux-arm64
- Crie um link simbólico em /opt para a versão corrente do Node.js que deseja utilizar como padrão
- cd /opt
- ln -s node-v9.4.0-linux-arm64/ nodejs
- Adicione ao path o diretório do executável no Node.js
- Abaixo, iremos fazer a configuração apenas para a sessão corrente
-
PATH="$PATH:/opt/nodejs/bin"
-
- Abaixo, iremos fazer a configuração apenas para a sessão corrente
- Caso tente efetuar a instalação do puppeteer diretamente utilizando o npm, no Debian Wheeze e Stretch, obtivemos uma série de erros, onde ao se resolver um, ocorria outro. Iremos propor então uma outra forma que para nós funcionou de primeira.
- Instale o yarn
- npm install yarn
- Adicione o path do binário do Yarn ao path
-
PATH="$PATH:/opt/node_modules/yarn/bin"
-
- Instale o puppeteer
- yarn add puppeteer
- E pronto! Já deve ser possível utilizar o puppeteer normalmente num script JavaScript a ser executado pelo Node.js instalado
Apenas uma observação. Verificamos que na instalação do puppeteer, a versão errada do navegador Chromium (que já vem por default por questão de compatibilidade entre as versões do navegador e da biblioteca puppeteer, a versão instalada estava com plataforma errada. Exemplo. Em Debian ARM64, com Node.js binary ARMv8 (64 bits), o Chromium instalado internamente para seu uso pelo puppeteer foi o AMD64, fazendo com que qualquer script utilizando o puppeteer falhasse assim que tentasse abrir o navegador. O problema pode ser contornado na opção browser launch do código usando puppeteer indicar o navegador chromium ou chrome já instalado em seu sistema.
No nosso caso, basta:
puppeteer.launch({ "executablePath":"/usr/bin/chromium" })
No script acima, adicione o path para a sua versão instalada.
E agora será utilizado o Chromium já instalado regularmente no sistema operacional. Um ponto muito importante a notar é que a versão do Navegador deve ser compatível com a versão da biblioteca puppeteer ou algumas funções poderão não funcionar corretamente ou o script falhar.