Saltar al contenido

npm install puppeteer mostrando errores de permiso denegado

Solución:

EDITAR 20 de abril de 2019:

La solución fácil sugerida por lauraalvarezz1 es,

sudo npm install -g puppeteer --unsafe-perm=true

Esto está bien siempre que confíe en titiritero y desee que instale titiritero a nivel mundial.

Sin embargo, tenga cuidado con el uso --unsafe-perm=true para problemas relacionados con permisos. Las razones son:

  • Ejecutar unsafe-perm = true con sudo, como usuario no root, le dará al script acceso de root. Esto podría estar bien solo si confías en el script y no te preocupas tanto por la seguridad.
  • Puede que necesites usar --no-sandbox en cada script que ejecute, porque el Chrome instalado con este comando podría no ejecutarse sin este parámetro. Vea este problema de github.

Has instalado npm con sudo. Por lo tanto, todo lo que instale a nivel mundial requerirá sudo.

Para instalar cualquier cosa en var/www/html carpeta, o tienes que ser el propietario de esa carpeta,

sudo chown -R $USER /var/www/html

O puede usar nvm para administrar npm. Técnicamente utilizará su directorio personal y su usuario actual.

Después de instalar nvm, puede instalar puppeteer globalmente con él,

npm i -g puppeteer

o tienes que usar sudo

sudo npm install --save puppeteer

Sin embargo, el cromo no se descargará debido a un error de permiso, es por eso que debe usar ---unsafe-perm=true como se dijo antes.

Recursos relacionados con la seguridad:

  • Resuelva esto sin sudo, puede usar esta respuesta.
  • Obtenga más información sobre las mejores prácticas relacionadas con la carpeta / var / www, consulte esta respuesta.

¡La mejor de las suertes!

Ejecute esto en su terminal:

sudo npm install -g puppeteer --unsafe-perm=true

Antes de comenzar, asegúrese de tener la versión más reciente de Node.js.

La documentación titiritero dice:

Nota: Puppeteer requiere al menos Node v6.4.0, pero los ejemplos a continuación usan async / await, que solo es compatible con Node v7.6.0 o superior.

Puede verificar qué versión de Node.js tiene usando el siguiente comando:

node -v
# OR nodejs -v

Si su versión de Node.js es inferior a la v7.6.0, puede desinstalar completamente su versión actual de Node.js.

Luego, puede completar la reinstalación usando un PPA:

sudo apt update
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install nodejs
sudo apt install build-essential

Puede verificar las nuevas versiones de Node.js y NPM instaladas en su sistema:

node -v
npm -v

Finalmente, puede instalar Puppeteer:

sudo npm install puppeteer --unsafe-perm=true --allow-root

Ahora puede ejecutar scripts de Puppeteer usando el node mando:

node puppeteer-script.js
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *