Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

878
Views
NPM / Error: EACCES: permiso denegado, scandir

cuando escribo "npm run build:prod"

 build:prod npm run build -- --configuration production --aot --optimization=false

me sale este error:

 > fancy-name@0.0.0 build:prod > npm run build -- --configuration production --aot --optimization=false glob error [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] { errno: -13, code: 'EACCES', syscall: 'scandir', path: '/root/.npm/_logs' } npm WARN logfile Error: EACCES: permission denied, scandir '/root/.npm/_logs' npm WARN logfile error cleaning log files [Error: EACCES: permission denied, scandir '/root/.npm/_logs'] { npm WARN logfile errno: -13, npm WARN logfile code: 'EACCES', npm WARN logfile syscall: 'scandir', npm WARN logfile path: '/root/.npm/_logs' npm WARN logfile } ⸨⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⸩ ⠙ : WARN logfile Error: EACCES: permission denied, scandir '/root/.npm/_logs' > fancy-name@0.0.0 build > ng build "--configuration" "production" "--aot" "--optimization=false" Node.js version v17.4.0 detected.file Error: EACCES: permission denied, scandir '/root/.npm/_logs' Odd numbered Node.js versions will not enter LTS status and should not be used for production. For more information, please see https://nodejs.org/en/about/releases/. This version of CLI is only compatible with Angular versions ^13.0.0-next || >=13.0.0 <14.0.0,ogs' but Angular version 12.1.3 was found instead. Please visit the link below to find instructions on how to update Angular. https://update.angular.io/

ya intenté eliminar node_module & package.json y ejecuté la NPM install nuevamente, pero no funcionó (Linux 4.19.0-16-cloud-amd64)

EDITAR: resuelto con chown -R root /path/of/your/project

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Esto es comprensiblemente un error confuso; ejecuta npm como root y, sin embargo, dice que no tiene acceso a los archivos? Hay una buena razón :) Estas preguntas son esencialmente sobre lo mismo:

  • fs.readFileSync lanza EACCESS cuando se llama usando `npm`, pero no usando `node`
  • Error de instalación de Bower EACCESS

Mi respuesta bastante larga entra en detalles sobre lo que está sucediendo, pero la esencia es esta:

(NPM) ... usa este fragmento de código para determinar quién ejecutar como:

const { uid, gid } = isRoot ? inferOwner.sync(cwd) : {}

y como dice la documentación del módulo infer-owner: inferir el propietario de una ruta en función del propietario de su padre existente más cercano

Entonces, si está ejecutando NPM como root, también debe cambiar el propietario del directorio actual a root:

 chown -R root /path/of/your/project

Pero todo este problema debería indicarle la solución real: no ejecute NPM como root. No tiene idea de qué tipo de secuencias de comandos se pueden ejecutar como desencadenante postinstall a la instalación o similar. Cuidate; solo use la cuenta raíz cuando sea necesario usando sudo .

Anexo: pruebe el Nodo 14

Como se menciona en la respuesta vinculada:

Este comportamiento es solo para las versiones de NPM >= 7. Las versiones de NPM < 7, que son las que se envían con el nodo 12-14, funcionan perfectamente bien cuando se ejecutan como root. Entonces, la solución más rápida podría ser simplemente usar el Nodo 14.

  • npm install -g nvm
  • nvm use 14
about 4 years ago · Juan Pablo Isaza Report

0

Enfoque alternativo: use un usuario que no sea root.

NPM se está esforzando mucho (ver otra respuesta para más detalles ) para no ejecutar nada como root. Entonces, ¿qué hay de intentar eso, no ser root? Tu harías algo como esto

  1. Agregue un usuario local ( guía de AMI ), normalmente adduser john.doe --disabled-password
  2. Inicie sesión como el nuevo usuario sudo -s -u john.doe
  3. Clone su repositorio: git clone https://github.com/foo/bar; cd bar
  4. Ejecute el comando NPM npm i;npm run build:prod
about 4 years ago · Juan Pablo Isaza Report

0

error global [Error: EACCES: permiso denegado, scandir '/root/.npm/_logs'] {

Esto significa que está tratando de leer algo en el directorio 'raíz', algo que siempre necesita acceso de raíz.

Intenta ejecutar el comando de esta manera:

 sudo npm run build:prod

Extra: por lo general, NO debe ejecutar comandos con sudo. Si proviene de Windows, piense en ello como 'Ejecutar como administrador', solo que con aún más privilegios, por lo que si está ejecutando un script malicioso, podría tener acceso a casi todo en su sistema. Hay algunas bibliotecas JS que necesitan acceso root/sudo para hacer sus cosas.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!