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


Это не сработает, если вы не используете 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.
Крантиз


18

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

sudo npm install -g react-native-cli


9

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


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'

5

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

yarn react-native info

3

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

sudo nano /etc/paths

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


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так, чтобы новые оболочки унаследовали версию по умолчанию, которую я хотел.


0

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

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

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


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, потому что я думал, что вы не новичок. Теперь, когда я уверен, что вы новичок, я могу помочь вам лучше
Мурило Петруччи
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.