react-native: lệnh không tìm thấy


126

Tôi nhận được lỗi -bash: react-native: lệnh không tìm thấy khi tạo dự án react -native.

Dưới đây là thông tin bổ sung

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

Tôi đã thử các bước được đề xuất từ ​​liên kết bên dưới nhưng vẫn gặp lỗi tương tự.

  1. react-native-command-not-found

Tôi không có bất kỳ thư mục "npm" nào mà họ đã chỉ định trong giải pháp

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

Nhưng tôi thấy tệp npm tồn tại ở vị trí bên dưới.

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

Tôi đã gỡ cài đặt react-native và cài đặt lại nhưng vẫn gặp phải vấn đề tương tự.


13
Bạn đã thử npm i -g react-native-clithay vì npm i -g react-native?
Nader Dabit

2
tôi đang sử dụng "sudo npm install -g react-native-cli"
Ashok R

Hmm .. không chắc chắn nhưng có thể kiểm tra chuỗi này stackoverflow.com/questions/33282545/…
Nader Dabit

4
Như họ đã chỉ định, tôi phải thêm / usr / local / share / npm / bin trong Biến PATH của mình. nhưng tôi không có bất kỳ thư mục npm nào bên trong / usr / local / share. Cảm ơn @NaderDabit
Ashok R

1
khi chạy npm config --global get prefix tôi có thể thấy thư mục npm ở vị trí này -> /usr/local/Cellar/node/6.1.0/libexec/npm. Tôi đã thêm nó vào biến PATH . react-native init someAppLệnh đã thực thi vẫn bị lỗi như vậy :-(
Ashok R

Câu trả lời:


250

Sau khi thêm đường dẫn phải vào, sự cố biến PATH đã được giải quyết.

Dưới đây là các bước để tìm ra con đường phù hợp.

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 

từ đầu ra phía trên, bạn có thể thấy rõ đường dẫn: /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

nếu bạn nhận được xcrun: error: không thể tìm thấy tiện ích "simctl" ở giai đoạn này, bạn có thể chạy lại bằng cách sử dụng các bước dưới đây

XCode -> Preferences -> Locations -> Command Line Tools -> Chọn Xcode 7.2.1

Bạn có thể tìm thấy giải pháp gốc từ xcrun không thể tìm thấy simctl

Cảm ơn @fbozo

Đó là nó!!!


Không có thư mục bin nào bên trong npm !?
Eftekhari

1
Nó không được giải quyết vĩnh viễn. Nhưng sau khi mở thiết bị đầu cuối mới, vấn đề tương tự đang xảy ra. Làm thế nào để khắc phục điều này vĩnh viễn?
Balasubramanian


Điều này không hoạt động nếu bạn không sử dụng sudo để cài đặt các mô-đun npm của mình. Xem stackoverflow.com/a/49124013/280795 để biết cách khắc phục.
Nick Lothian

Trong trường hợp của tôi, tôi đã thay đổi phiên bản nút mặc định của mình bằng NVM và đã quên cài đặt lại react-native cho phiên bản nút mới này. Cảm ơn bạn!
Steve Meisner

42

Sau khi liên tục gặp phải vấn đề này và nhấn câu trả lời này và không có nó hoạt động ..

Giả sử bạn không chạy npm dưới dạng root / sudo (điều bạn không nên làm!) Các mô-đun npm của bạn sẽ được cài đặt trong bất kỳ thứ gì bạn đặt thư mục mặc định của mình .

Giả sử bạn đã làm theo các hướng dẫn đó và thư mục mặc định của bạn là ~ / .npm-global, thì bạn cần thêm ~ / .npm-global / bin vào đường dẫn của mình.

Điều này được nêu trong các hướng dẫn đó, nhưng đối với tôi, tôi đã thêm điều này vào .bashrc:

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

Sau đó, khởi động lại trình bao của bạn và nó sẽ hoạt động.


sau khi mệt mỏi với việc thử gần hàng trăm giải pháp, điều này đã hoạt động hiệu quả trong trường hợp của tôi, vấn đề của tôi thực sự là khi tôi đóng thiết bị đầu cuối và bắt đầu lại thì lệnh react-native không được tìm thấy.
Krantiz

27

chạy mã này

npm i -g react-native-cli

đóng cmd của bạn và mở lại


5
Đề xuất này không khắc phục được sự cố cho tôi.
Mike S.

18

Nếu ai gặp lỗi, hãy thử nó với sudo:

sudo npm install -g react-native-cli


9

Tôi gặp phải vấn đề này bằng cách hơi ngớ ngẩn. Tôi sử dụng nvm để quản lý các phiên bản nút khác nhau của mình và cài đặt react-native vào phiên bản nút không phải là mặc định của tôi. Khi mở một trình bao mới, tôi đã mất lệnh. :) Chuyển lại tất nhiên những thứ đã cố định.


1
Hoặc chỉ cần cài đặt lại toàn cầu. Soooo, đơn giản. $ npm i -g react-native-cli
Keeprock

9

Nếu vì một số lý do lạ, đường dẫn đến react-nativekhông có trong PATH, bạn nên lưu ý nơi react-nativecài đặt tệp thi hành. Nói chung, vấn đề với command not foundlà do họ không ở trong PATH.

Ví dụ, tôi sử dụng nodenvvà chạynpm 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

Vì vậy, tôi cần thêm nó vào PATH

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

Bạn có thể xác minh với echo $PATH

Hoặc bạn có thể sử dụng npx để thực thi các mô-đun npm cục bộ, chẳng hạn

npx react-native run-ios --simulator='iPhone X'

4

Nếu bạn đang sử dụng sợi , bạn có thể phải chạy lệnh với sợi ở phía trước. Thí dụ:

yarn react-native info

3

Gặp vấn đề tương tự nhưng một nửa cách tiếp cận của bạn không hiệu quả với tôi. tôi đã đi theo cách bạn đã làm: từ đầu ra của react-native-cli instal nhưng sau đó viết thủ công bằng ect / pathes với:

sudo nano /etc/paths

ở cuối, tôi đã thêm đường dẫn từ đầu ra rồi nhấn ctrl x và y để lưu. Chỉ có cách này đã hiệu quả nhưng rất cảm ơn vì manh mối!


3

Lúc đầu, hãy chạy lệnh này trên thiết bị đầu cuối của bạn.

npm i -g react-native-cli

Sau đó, tạo dự án gốc phản ứng của bạn bằng lệnh này.

React-native init Project name

sau đó di chuyển đến thư mục dự án của bạn bằng lệnh cd.


3

Cài đặt react-native-clivới npm install -g react-native-cli. Bạn có thể cần sử dụng sudo nhưsudo npm install -g react-native-cli


2

Theo tài liệu chính thức, lệnh sau đây phù hợp với tôi.

  • npx react-native run-android

Liên kết ở đây

Tôi đang cố gắng chạy bằng lệnh "react-native run-android". đảm bảo đã cài đặt cli gốc phản ứng trên toàn cầu!


1

Trong trường hợp có ai gặp vấn đề này, tôi đã gặp vấn đề tương tự với qix, nhưng có nhiều sắc thái hơn.

Các thiết bị đầu cuối shell mới sẽ mặc định là một phiên bản khác của nút. Tôi sẽ thay đổi thiết bị đầu cuối của mình thành nút mà tôi muốn, nhưng khi tập lệnh gói chạy, nó chạy trong một trình bao mới và nó có phiên bản mặc định chưa được cài đặt phản ứng gốc.

Tôi đã sử dụng nvm alias default x.x.xđể các trình bao mới sẽ kế thừa phiên bản mặc định mà tôi muốn.


0

Điều này thực sự kỳ lạ, về phía tôi (macOS 10.14), tôi khá chắc chắn rằng nút và npm của tôi hoạt động nhưng tôi liên tục nhận được lệnh không tìm thấy chỉ cho gói cụ thể này. Tôi đã làm những việc sau:

Giờ đây, bạn có thể gỡ lỗi hệ thống phân cấp chế độ xem và xem nhật ký bảng điều khiển trong trình gỡ lỗi 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
tại sao chúng ta cần cài đặt nhiều thứ này để giải quyết một vấn đề quá ít? ví dụ: sử dụng vũ khí hạt nhân trên đàn kiến.
zinoadidi

-1

hãy thử sử dụng react-native --help và xem điều gì sẽ xảy ra. thử uốn

phản ứng đề xuất thư viện gốc:

Nếu bạn gặp lỗi như Không thể tìm thấy mô-đun 'npmlog', hãy thử cài đặt trực tiếp npm: curl -0 -L https://npmjs.org/install.sh | sudo sh.

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


vấn đề ban đầu là không tìm thấy lệnh 'react-native'. không thể chạy phản ứng gốc
zinoadidi

Tôi đã bỏ qua thực tế là bạn đã mắc lỗi khi cài đặt React Native bằng cách làm theo các bước trong tài liệu chính thức của Facebook, vì tôi nghĩ bạn không phải là người mới bắt đầu. Bây giờ tôi chắc chắn rằng bạn là người mới bắt đầu, tôi có thể giúp bạn tốt hơn
Murilo Petruci
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.