ios - error de EACCESS de inicio nativo para setup_env.sh
react-native ulimit (4)
Entonces, obtuve mi primer proyecto en ReactNative para ejecutarse desde Windows para el sistema operativo Android. Realicé un proceso de pago en una Mac, la configuré de una manera idéntica y cuando intento iniciar el gestor de paquetes de react-native start
con react-native start
y obtengo el siguiente error:
child_process.js:506
throw err;
^
Error: spawnSync /Users/UserName/Desktop/Path/node_modules/react-native/local-cli/setup_env.sh EACCES
at exports._errnoException (util.js:1022:11)
at spawnSync (child_process.js:461:20)
at Object.execFileSync (child_process.js:498:13)
at Object.run (/Users/UserName/Desktop/Path/node_modules/react-native/local-cli/cliEntry.js:156:16)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:117:7)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
Soy consciente de que solo intenta establecer el límite de ulimit (límite de archivo abierto) en 2048, que está permitido para usuarios que no son usuarios root. También intenté ejecutar el comando con sudo dándole permisos de root. La ejecución de ulimit -a
en la máquina reveló un límite de archivo abierto de 256 e intenté cambiar el valor predeterminado de 2048. Intenté aumentarlo a 4096 y también eliminar el comando por completo. Parece que no importa lo que nunca y el error persiste.
¿Creó un nuevo proyecto usando react-native init DemoProject
y el empaquetador parece comenzar dentro de esa carpeta por lo que el problema es otra cosa?
Mi package.json es:
{
"name": "React Native",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"native-base": "^0.5.18",
"react": "15.4.1",
"react-addons-shallow-compare": "^15.4.1",
"react-native": "0.39.2",
"react-native-drawer": "^2.3.0",
"react-native-icons": "^0.7.1",
"react-native-loading-spinner-overlay": "^0.4.1",
"react-native-md-textinput": "^2.0.4",
"react-native-overlay": "^0.5.0",
"react-native-scrollable-tab-view": "^0.7.0",
"react-native-tab-view": "0.0.40",
"react-redux": "^4.4.6",
"react-timer-mixin": "^0.13.3",
"redux": "^3.6.0"
},
"devDependencies": {
"babel-jest": "17.0.2",
"babel-preset-react-native": "1.9.0",
"jest": "17.0.3",
"react-test-renderer": "15.4.1"
},
"jest": {
"preset": "react-native"
}
}
Además, si es importante, tengo sinopia, browserify e hilo instalado globalmente.
Para empezar, no estoy seguro de si debo agregar todas las dependencias locales a través de npm una vez más en la Mac y luego simplemente copiar mi código o eso debería estar bien y algo más está mal.
Sería genial si pudiera solucionar esto sin volver a agregar dependencias. Gracias por adelantado.
Como señaló Jerry, este es un error en NPM. Hay una solución disponible ahora. Puede actualizar NPM con npm i -g npm
.
npm --version
a la versión 5.4.2 ( npm --version
), npm --version
React Native con npm remove --save react-native
y reinstalé RN con npm i --save react-native
. Esto solucionó el problema para mí.
(Como alternativa, es posible que desee probar hilos en lugar de npm).
Este es un bug de npm. Antes de que solucionen el error, tienes 2 formas de solucionar el problema:
- Baja la versión npm a 5.3.0
- Después de npm i react-native, ejecute chmod -R 775 node_modules
Simplemente tenía que ir a mi directorio de proyectos base y ejecutar
chmod -R 777 node_modules
en mi caso, el error fue con un archivo en particular cuando hago react-native link
:
Error: spawnSync ~/native-starter-kit/node_modules/react-native/local-cli/setup_env.sh EACCES
así que lo arreglé ejecutando: chmod +x
en ese archivo.