react-native: команда не найдена

127

Я получаю -bash: react-native: command not found error при создании проекта, поддерживающего реакцию .

Ниже представлена ​​дополнительная информация

1. brew --version
   homebrew 0.9.9
2  brew info watchman
   watchman `enter code here`stable 4.50
   /usr/local/Cellar/watchman/4.4.0
3. brew info flow
   stable 0.24.1
   /usr/local/Cellar/flow/0.24.1
4. brew info node
   stable 6.1.0
   /usr/local/Cellar/node/6.1.0
5. npm -version
   3.8.6
6. echo $PATH
/Users/Ashok/.rbenv/shims:/Users/Ashok/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Я попробовал предложенные шаги из приведенной ниже ссылки, но все равно получаю ту же ошибку.

  1. реагировать-нативную-команду-не-найдено

У меня нет каталога "npm", который они указали в решении.

Ashoks-MacBook-Pro:share Ashok$ ls
aclocal     doc     info        ruby-build  zsh
autoconf    emacs       man     systemtap

Но я обнаружил, что файл npm существует в расположении ниже.

/usr/local/Cellar/node/6.1.0/etc/bash_completion.d

Я удалил response-native и снова установил, но все еще сталкиваюсь с той же проблемой.

Ашок Р
источник
13
Вы пробовали npm i -g react-native-cliвместо npm i -g react-native?
Надер Дабит,
2
я использую «sudo npm install -g react-native-cli»
Ashok R
Хм .. не уверен, но, возможно, проверьте этот поток stackoverflow.com/questions/33282545/…
Надер Дабит
4
Как они указали, я должен добавить / usr / local / share / npm / bin в свою переменную PATH. но у меня нет каталога npm внутри / usr / local / share. Спасибо @NaderDabit
Ashok R
1
когда я запускаю, npm config --global get prefix я вижу каталог npm в этом месте -> /usr/local/Cellar/node/6.1.0/libexec/npm. Я добавил его в переменную PATH . Выполненная react-native init someAppкоманда, все та же ошибка :-(
Ashok R

Ответы:

250

После добавления правильного пути к переменной PATH проблема решена.

Ниже приведены шаги, чтобы найти правильный путь.

1. Enter: npm install -g react-native-cli
output: /usr/local/Cellar/node/6.1.0/libexec/npm/bin/react-native ->/usr/local/Cellar/node/6.1.0/libexec/npm/lib/node_modules/react-native-cli/index.js/usr/local/Cellar/node/6.1.0/libexec/npm/lib
└── react-native-cli@0.2.0 

из приведенного выше вывода вы можете четко увидеть путь: /usr/local/Cellar/node/6.1.0/libexec/npm/bin/react-native

export PATH="/usr/local/Cellar/node/6.1.0/libexec/npm/bin:$PATH"

react-native init appName

cd appName

react-native run-ios

если вы получаете xcrun: error: не удается найти утилиту "simctl" на этом этапе, вы можете восстановить его, используя следующие шаги

XCode -> Настройки -> Местоположения -> Инструменты командной строки -> Выбрать Xcode 7.2.1

Вы можете найти оригинальное решение от xcrun, не сумев найти simctl

Спасибо @fbozo

Это оно!!!

Ашок Р
источник
Нет папки bin внутри npm !?
Эфтехари
1
Это не решено окончательно. Но после открытия нового терминала возникает та же проблема. Как это исправить навсегда?
Balasubramanian
1
stackoverflow.com/questions/22465332/… @Balasubramanian
Ashok R
Это не сработает, если вы не используете sudo для установки модулей npm. См. Stackoverflow.com/a/49124013/280795 для исправления.
Ник Лотиан,
В моем случае я изменил свою версию узла по умолчанию на NVM и забыл снова установить response-native для этой новой версии узла. Спасибо!
Стив Мейснер,
42

После того, как вы постоянно сталкиваетесь с этой проблемой, нажимаете этот ответ и не получаете его работы ..

Предполагая, что вы не запускаете npm от имени root / sudo (чего не следует делать!), Ваши модули npm будут установлены в любом каталоге по умолчанию .

Предполагая, что вы выполнили эти инструкции и ваш каталог по умолчанию ~ / .npm-global, вам нужно добавить ~ / .npm-global / bin к своему пути.

Это описано в этих инструкциях, но я добавил это в .bashrc:

export PATH=$PATH:$HOME/.npm-global/bin

Затем перезапустите оболочку, и она будет работать.

Ник Лотиан
источник
после того, как я устал пробовать почти сотни решений, это сработало в моем случае, моя проблема на самом деле заключалась в том, что я закрыл терминал и начал снова, а затем не была найдена команда response-native.
Крантиз
28

запустите этот код

npm i -g react-native-cli

закройте свой cmd и откройте его снова

Мохаммед Фаллах
источник
5
Это предложение не устранило проблему.
Майк С.
18

Если у кого есть ошибка, попробуйте с sudo:

sudo npm install -g react-native-cli

Чи Буй
источник
9

Я столкнулся с этой проблемой из-за своей глупости. Я использую nvm для управления разными версиями узла и установил react-native в версию узла, которая не была моей по умолчанию. Открыв новую оболочку, я потерял команду. :) Переключение конечно исправило.

Qix
источник
1
Или просто глобально установите заново. Таааак, просто. $ npm i -g react-native-cli
Keeprock
9

Если по каким-то странным причинам путь к react-nativeне PATHуказан в папке, обратите внимание на то, где установлен react-nativeисполняемый файл. Как правило, проблема в command not foundтом, что их нет PATH.

Например, я использую nodenvи запускаюnpm install -g react-native

/Users/khoa/.nodenv/versions/10.10.0/bin/react-native -> /Users/khoa/.nodenv/versions/10.10.0/lib/node_modules/react-native/local-cli/wrong-react-native.js

Поэтому мне нужно добавить это к моему PATH

export PATH=$HOME/.nodenv/versions/10.10.0/bin:$PATH

Вы можете проверить с помощью echo $PATH

Или вы можете использовать npx для выполнения локальных модулей npm, например

npx react-native run-ios --simulator='iPhone X'
onmyway133
источник
5

Если вы используете пряжу , вам, возможно, придется запускать команды с пряжей впереди. Пример:

yarn react-native info
Стан
источник
3

Была та же проблема, но половина вашего подхода не сработала для меня. Я выбрал путь так же, как и вы: из вывода установки response-native-cli, но затем вручную написал в ect / pathes с помощью:

sudo nano /etc/paths

в конце я добавил путь из вывода, затем ctrl x и y для сохранения. Только так сработало, но большое спасибо за подсказку!

zo_chu
источник
3

Сначала запустите эту команду на своем терминале.

npm i -g react-native-cli

Затем с помощью этой команды создайте свой собственный проект.

React-native init Project name

затем перейдите в каталог проекта с помощью команды cd.

Кумар Уджавал
источник
3

Установить react-native-cliс помощью npm install -g react-native-cli. Возможно, вам придется использовать sudo какsudo npm install -g react-native-cli

Габриэль Скаличи
источник
2

Согласно официальной документации, у меня работала следующая команда.

  • npx реагирует на собственный запуск Android

Ссылка здесь

Я пытался запустить команду "react-native run-android". убедитесь, что у вас установлен глобально встроенный cli!


источник
1

Если у кого-то есть эта проблема, у меня была проблема, аналогичная qix, но более тонкая.

Новые терминалы оболочки по умолчанию будут использовать другую версию узла. Я бы сменил свой терминал на узел, который мне нужен, но при запуске сценария пакета он работал в новой оболочке и получил версию по умолчанию, в которой не было установлено собственное реагирование.

Я использовал nvm alias default x.x.xтак, чтобы новые оболочки унаследовали версию по умолчанию, которую я хотел.

primordius
источник
0

Это действительно странно, с моей стороны (macOS 10.14), я почти уверен, что мой узел и npm работают, но я продолжал получать команду, которая не найдена только для этого конкретного пакета. В итоге я сделал следующее:

  • Установите response-native-debugger
  • Убедитесь, что вы включили удаленную отладку JS, документы
  • Запустите response-native-debugger
  • Запустите приложение RN

Теперь вы можете отлаживать иерархию представлений и просматривать журналы консоли в react-native-debugger.

Hammerhead
источник
0
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install yarn
brew install node
brew install watchman
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
npm install -g react-native-cli
Жанг
источник
1
почему нам нужно установить так много вещей, чтобы решить такую ​​небольшую проблему? например: использование ядерного оружия на колониях муравьев.
zinoadidi
-1

попробуйте использовать response-native --help и посмотрите, что произойдет. попробуй завить

реагировать на рекомендацию собственной библиотеки:

Если вы получаете сообщение об ошибке типа «Не удается найти модуль npmlog», попробуйте установить npm напрямую: curl -0 -L https://npmjs.org/install.sh | судо ш.

https://facebook.github.io/react-native/docs/getting-started.html

Мурило Петруччи
источник
исходная проблема заключается в том, что команда response-native не найдена. также невозможно запустить
response
Я проигнорировал тот факт, что вы совершили ошибку при установке React Native, выполнив действия, описанные в официальной документации Facebook, потому что я думал, что вы не новичок. Теперь, когда я уверен, что вы новичок, я могу помочь вам лучше
Мурило Петруччи