Ошибка EACCESS при запуске реакции для setup_env.sh

Итак, я получил свой первый проект в ReactNative для запуска из Windows для ОС Android. Взял заказ на Mac, настроил его идентичным образом, и когда я пытаюсь запустить менеджер пакетов реагирования с помощью react-native start, я получаю следующую ошибку:

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)

Я знаю, что он только пытается установить ulimit (ограничение на количество открытых файлов) на 2048, что допустимо для пользователей без полномочий root. Также попытался запустить команду с sudo, предоставив ей права root. Запуск ulimit -a на машине показал ограничение на количество открытых файлов в 256, и я попытался изменить значение по умолчанию 2048 на это. Пробовал увеличить его до 4096, а также полностью удалить команду. Кажется, не имеет значения, что так всегда, и ошибка сохраняется.

Создал новый проект, используя react-native init DemoProject, и упаковщик, кажется, запускается в этой папке, так что проблема в чем-то другом?

Мой package.json:

{
  "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"
  }
}

Кроме того, если это имеет значение, у меня глобально установлены sinopia, browserify и yarn.

Начнем с того, что я не уверен, должен ли я снова добавить все локальные зависимости через npm на Mac, а затем просто скопировать свой код или это должно быть хорошо, а что-то еще не так.

Было бы здорово, если бы я мог разобраться в этом без повторного добавления зависимостей. Заранее спасибо.


person Sushant Sardeshpande    schedule 27.12.2016    source источник


Ответы (4)


Просто нужно было перейти в каталог моего базового проекта и запустить

chmod -R 777 node_modules

person Sushant Sardeshpande    schedule 28.12.2016
comment
Я столкнулся с этой проблемой: child_process.js:504 throw err; ^ Error: spawnSync /../AwesomeProject/node_modules/react-native/local-cli/setup_env.sh EACCES - person Hashir Hussain; 29.07.2017
comment
@JacoboKoenig, я использую Ubuntu, это была проблема с моим узлом. Я удалил и очистил все папки node.js , npm и node из системы. Переустановил узел снова, и моя проблема была решена. - person Hashir Hussain; 04.09.2017
comment
Это исправило это для меня - person mad_greasemonkey; 11.07.2020

Это ошибка npm. Прежде чем они исправят ошибку, у вас есть 2 способа исправить проблему:

  1. Понизьте версию npm до 5.3.0
  2. После того, как npm я реагирую, запустите chmod -R 775 node_modules
person jerry    schedule 05.09.2017

в моем случае ошибка была с одним конкретным файлом, когда я делаю react-native link:

Error: spawnSync ~/native-starter-kit/node_modules/react-native/local-cli/setup_env.sh EACCES

поэтому я исправил это, запустив: chmod +x в этом файле.

person redochka    schedule 08.09.2017

Как указал Джерри, это ошибка в NPM. Сейчас доступно исправление. Вы можете обновить NPM с помощью npm i -g npm.

Я обновился до версии 5.4.2 (npm --version), удалил React Native с npm remove --save react-native и переустановил RN с npm i --save react-native. Это решило проблему для меня.

(В качестве альтернативы вы можете попробовать пряжу вместо npm.)

person cutemachine    schedule 16.09.2017