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

2.4K
Views
"npm run build" = "react-scripts: Permiso denegado"

Estoy tratando de implementar mi aplicación Spring-Boot/React de Windows 10 en funcionamiento en Ubuntu 18.04, pero sigo recibiendo el error "react-scripts: Permiso denegado" a pesar de los numerosos intentos de solucionarlo. Con suerte, uno de ustedes, expertos en reacciones, puede detectar lo que estoy haciendo mal.

Mi paquete.json se ve así

 { "name": "medaverter-front", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", "axios": "^0.19.2", "bootstrap": "^4.4.1", "react": "^16.13.0", "react-dom": "^16.13.0", "react-router-dom": "^5.1.2", "react-scripts": "3.4.0", "react-table-6": "^6.11.0", "react-validation": "^3.0.7", "reactstrap": "^6.5.0", "validator": "^12.2.0" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": "react-app" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] } }

Inicié sesión como root y usé nvm para instalar node y lts. Instalé nvm así:

 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

entonces hizo esto:

 nvm install node nvm use node nvm install --lts nvm use --lts

Luego cd a /var/lib/jenkins/workspace/MedAverter/medaverter-front e instalo node_modules así:

 npm install -g

y luego cambie los permisos a 777 recursivamente, así:

 chmod -R 777 node_modules

También cambié todos los permisos /root/.nvm a 777 recursivamente, así:

 chmod -R 777 /root/.nvm

Puedo construirlo una vez usando

 npm run build

pero luego ejecuto un "Build Now" de Jenkins y falla con el mismo

 [[1;34mINFO[m] Running 'npm run build' in /var/lib/jenkins/workspace/MedAverter/medaverter-front [[1;34mINFO[m] [[1;34mINFO[m] > medaverter-front@0.1.0 build /var/lib/jenkins/workspace/MedAverter/medaverter-front [[1;34mINFO[m] > react-scripts build [[1;34mINFO[m] [[1;31mERROR[m] sh: 1: **react-scripts: Permission denied** [[1;31mERROR[m] npm ERR! code ELIFECYCLE [[1;31mERROR[m] npm ERR! errno 126 [[1;31mERROR[m] npm ERR! medaverter-front@0.1.0 build: `react-scripts build` [[1;31mERROR[m] npm ERR! Exit status 126

Luego cd a /var/lib/jenkins/workspace/MedAverter/medaverter-front y ejecuto

 npm run build

Y también obtener el mismo error de nuevo:

 > root@ubuntu-s-1vcpu-1gb-nyc1-01:/var/lib/jenkins/workspace/MedAverter/medaverter-front# > npm run build > > > medaverter-front@0.1.0 build /var/lib/jenkins/workspace/MedAverter/medaverter-front > > react-scripts build > > sh: 1: **react-scripts: Permission denied** npm ERR! code ELIFECYCLE > npm ERR! errno 126 npm ERR! medaverter-front@0.1.0 build: > `react-scripts build` npm ERR! Exit status 126

Literalmente he pasado días tratando de resolver esto. ¿Sugerencias?

over 4 years ago · Santiago Trujillo
8 answers
Answer question

0

En lugar del "start": "react-scripts start" especificado en su archivo package.json , intente cambiarlo a lo siguiente y luego pruebe: "scripts": { "start": "node ./node_modules/react-scripts/bin/react-scripts.js start" }

over 4 years ago · Santiago Trujillo Report

0

Solución 1:

Creo que tienes react-script instalado globalmente. así que prueba este comando

 npm install react-scripts --save

y luego vuelva a ejecutar la aplicación.

Solución 2:

prueba este comando

 sudo chmod +x node_modules/.bin/react-scripts

y luego vuelva a ejecutar la aplicación.

Solución 3;

Creo que tu npm no tiene permiso. puedes intentar ejecutar por sudo

 sudo npm run build

y puedes arreglar este problema así

Paso 1:

verifique la ruta de npm si está usando npm por

 which npm

"/usr/local/bin/npm" este tipo de ruta

O

verifique la ruta del hilo si está usando hilo por

 which yarn

"/usr/local/bin/npm" este tipo de ruta

Paso 2:

dé permiso 777 a esta ruta e intente ejecutar el proyecto

 sudo chmod -R 777 /usr/local/bin/npm
over 4 years ago · Santiago Trujillo Report

0

Parece que no tiene el permiso adecuado para compilar o ejecutar la aplicación de reacción.

Lo que podría hacer es intentar cambiar el propietario al usuario actual usando

 sudo chown -R username:username /var/lib/jenkins/workspace/MedAverter/medaverter-front/

puede comprobar su nombre de usuario escribiendo whoami en la terminal. Esto se hace porque el usuario actual no tiene acceso a la carpeta var ni a nada dentro de ella de forma predeterminada. Además, desea cambiar el modo de acceso para leer y ejecutar para todos los que usan

 sudo chmod 755 /var/lib/jenkins/workspace/MedAverter/medaverter-front/

entonces puede querer cambiar a usuario raíz usando

 sudo su

y luego crea la aplicación usando

 npm run build

Esto funcionó para mí cuando enfrentaba un problema similar, espero que también funcione para usted, Saludos :)

over 4 years ago · Santiago Trujillo Report

0

Finalmente encontré una solución a este problema. Tomó días de esfuerzo. Primero, eliminé el proyecto Jenkins y creé uno nuevo usando Pipeline, en lugar de Freestyle. Luego agregué un Jenkinsfile con un script. Eso siguió fallando, pero ahora tenía la flexibilidad de agregar comandos adicionales para manejar los errores.

Un nuevo error fue algo sobre jest-worker. Ejecuté el siguiente comando en el servidor de DigitalOcean para superarlo:

 yarn add jest-worker

Luego volví a tener el error de permisos anterior. Creo que todos estos errores de permisos se deben a que el usuario jenkins intenta ejecutar cosas que pertenecen al usuario root, aunque todo tenía permisos 777. No entiendo eso, pero así es como lo solucioné. Modifique el archivo /etc/sudoers y agregue la siguiente línea:

 jenkins ALL=(ALL) NOPASSWD:ALL

Luego modifique la secuencia de comandos del archivo Jenkins para incluir chmod y chown recursivos. Aquí está el guión completo que FINALMENTE funcionó:

 pipeline { agent any stages { stage('Checkout') { steps { echo 'Checkout...' sh 'sudo chmod -R 777 /var/lib/jenkins/workspace/MedAverter/medaverter-front' checkout scm sh 'sudo chmod -R 777 /var/lib/jenkins/workspace/MedAverter/medaverter-front' sh 'sudo chown -R jenkins /var/lib/jenkins/workspace/MedAverter/medaverter-front' stash 'sources' } } stage('Build') { steps { echo 'Build...' unstash 'sources' sh 'sudo chmod -R 777 /var/lib/jenkins/workspace/MedAverter/medaverter-front' sh 'sudo chown -R jenkins /var/lib/jenkins/workspace/MedAverter/medaverter-front' sh 'mvn clean package -DskipTests' stash 'sources' } } } }

También tuve que aumentar la memoria de la gota de DigitalOcean de 1 GB a 2 GB para superar otro error. Si alguien conoce una mejor manera de superar ese frustrante error de permisos, por favor comente.

over 4 years ago · Santiago Trujillo Report

0

Desde la raíz de su proyecto, ejecute:

 chmod +x node_modules/.bin/react-scripts
over 4 years ago · Santiago Trujillo Report

0

Había modificado los permisos en las carpetas anteriormente y deshice los cambios. Creo que eso es todo.

Acabo de eliminar la carpeta node_modules y reinstalé las dependencias con el comando yarn .

 sudo rm -rf node_modules yarn yarn start
over 4 years ago · Santiago Trujillo Report

0

Eso sucede debido a la falta de un archivo package.json Simplemente ejecute este comando y el problema se solucionará:

 npm audit fix
over 4 years ago · Santiago Trujillo Report

0

A veces, npm necesita permiso de root. Intente usar sudo en el comando. Resolvió un problema similar para mí. Esto podría ayudar.

 sudo npm run build
over 4 years ago · Santiago Trujillo 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!