Nie znaleziono polecenia ngrok


90

Próbuję zainstalować ngrok(którego używam przez jakiś czas w systemie Windows bez żadnych problemów) na moim 1-tygodniowym yosemite i są to kroki, które wykonałem do tej pory.

  1. Pobrano ngrok stąd https://ngrok.com/download .

  2. Rozpakowano plik i skopiowano plik wykonywalny systemu Unix do aplikacji.

Teraz z tego, co rozumiem, wystarczy otworzyć terminal, wejść do folderu aplikacji i pisać ngrok http 80. Wynikiem tego jest „polecenie nie znaleziono”.

Zarejestrowałem się nawet na ngrokstronie i uruchomiłem z terminala polecenie, ./ngrok authtoken "blablabla"a wynik to „Nie ma takiego pliku lub katalogu”

Czy ktoś może mi powiedzieć, jak postępować, aby móc aktywować tunel ngrok?


6
Zacznij od upewnienia się, że jesteś we właściwym katalogu. ls ngrokpowinien pokazać, że plik istnieje. Po tym ./ngrok <whatever options>powinien zadziałać lub przynajmniej wywołać odpowiedni program.
Phillip Mills

1
Dziękuję Phillip .. Uznałem za pewnik, że byłem w / Application, ale nie byłem ... Próbowałem pobrać ngrok z users / USERNAME / applications. Aby przejść do odpowiedniego folderu, właśnie napisałem z terminala „cd / Applications” zamiast „cd Application”. Myślę, że to są błędy początkujących. Dziękuję bardzo
Valina

3
Sztuczka Maca: wpisz „cd” w oknie terminala, a następnie przeciągnij folder katalogu, w którym chcesz się znaleźć, z Findera do terminala. To, co przeciągasz, zmienia się z ikony w ciąg tekstowy.
Phillip Mills

Niezła sztuczka ... Działa również z poleceniem "ls", jeśli chcesz zobaczyć zawartość folderu w terminalu. Dzięki Phillip;)
Valina

Odpowiedzi:


166

Krótka odpowiedź : Umieść plik wykonywalny /usr/local/binzamiast aplikacji. Powinieneś teraz móc uruchamiać polecenia takie jak ngrok http 80.

Długa odpowiedź : Podczas wpisywania poleceń, takich jak ngrokw terminalu, komputery Mac (i inne systemy Unix) szukają tych programów w folderach określonych w pliku PATH. PATHZnajduje się lista folderów, które jest określone przez każdego użytkownika. Aby sprawdzić ścieżkę otwórz typ terminala i: echo $PATH.

Zobaczysz wyjścia, który wygląda mniej więcej tak: /usr/local/bin:/usr/bin:/bin. To jest :oddzielna lista folderów.

Więc po wpisaniu ngrokw terminalu, Mac będzie szukać tego pliku wykonywalnego w następujących folderach: /usr/local/bin, /usr/bin/i /bin.

Przeczytaj ten post, jeśli chcesz dowiedzieć się, dlaczego powinieneś preferować usr/local/bininne foldery.


56
mv ngrok /usr/local/bin
Anthony

Jeśli to nie zadziała, wypróbuj rozwiązanie Vick Swigt dwie odpowiedzi poniżej.
sab

w nowszych wersjach macOS nie będzie łatwo przenosić lub kopiować pliki binarne do / usr / bin, tworząc alias lub używając czegoś takiego jak brew do instalacji, może być lepszą opcją
SlimCheney

59

Po zainstalowaniu Homebrew na komputerze Mac możesz łatwo zainstalować ngrok z terminala, używając tego polecenia:

$ brew cask install ngrok

Następnie uruchom go z powłoki za pomocą tego polecenia:

$ ngrok http 8000

Za pomocą tego polecenia mówisz ngrok, aby w zasadzie utworzył tunel do twojego lokalnego hosta 8000 i przypisał mu nazwę hosta internetowego. I to wszystko. Powinieneś być gotowy do drogi.


51
  • Pobierz plik zip.
  • Rozpakuj to.
  • Otwórz terminal w bieżącej lokalizacji (w folderze rozpakowania), w którym rozpakujesz plik.
  • Wykonaj następujące polecenie w terminalu:

    sudo cp ngrok /usr/local/bin          
    

    Teraz twój plik wykonywalny ngrok został pomyślnie skopiowany do katalogu / usr / local / bin . Teraz możesz uruchomić polecenie ngrok w terminalu


2
To zadziałało na moim ubuntu 18.04 po pobraniu pliku zip ngrok.
Carmine Tambascia

23

Miałem również do czynienia z tym problemem na moim MacOS, wykonałem te proste kroki i zadziałało.

Po prostu otwórz terminal i przejdź do folderu projektu, w którym chcesz uruchomić ngrok, a następnie rozpakuj pobrany plik.

$ unzip /path/to/ngrok.zip

Po wykonaniu tej czynności nie musisz uwierzytelniać ngrok, po prostu uruchom to polecenie:

./ngrok  http 80

Teraz powinno działać.


14

Oto, jak to działa.

Dla Maca

  1. Jeśli pobrałeś przez łącze pobierania, musisz dodać ścieżkę ngrok do swojego .bash_profile lub .bashrc, w zależności od tego, którego używasz.

W przypadku systemu Windows 10 bash:

  1. Pobierz ngrok z https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip
  2. Przenieś plik wykonywalny ngrok.exe do C: \ Windows \ system32 \ ngrok.exe
  3. Dodaj zmienne środowiskowe za pomocą interfejsu użytkownika (wyszukaj „Edytuj zmienne środowiskowe dla swojego konta” w pasku wyszukiwania obok logo systemu Windows => kliknij dwukrotnie ścieżkę w obszarze Zmienne użytkownika dla nazwa_użytkownika => kliknij Nowy => dodaj swoją ścieżkę C: \ Windows \ system32 \ ngrok.exe => kliknij OK.
  4. Zrestartuj bash i powinieneś być w stanie uruchomić polecenie „ngrok http 80”.

Czy możesz pokazać przykład tego, jak to wygląda na komputerze Mac?
Roger Perez

Wpisz „echo $ PATH” w swoim terminalu i zobacz, jakie ścieżki wrócą ('/usr/local/bin:/usr/bin:/bin:/usr/sbin:...etc'). Jeśli zainstalowałeś swój pakiet lokalnie, prawdopodobnie znajduje się on w user / local / bin lub user / bin, więc spróbuj sprawdzić, czy ngrok jest tam wymieniony, a jeśli tak, a twoja $ PATH nie ma tych ścieżek, zmodyfikuj $ PATH w. bash_profile, aby je uwzględnić. coolestguidesontheplanet.com/add-shell-path-osx mam nadzieję, że to ma sens .. Mój jest w My-MacBook-Pro / usr / local / bin / ngrok quora.com/…
il0v3d0g

10

po prostu pobierz, rozpakuj i uruchom

./ngrok http 80

1
Stwarza to problem, jeśli używasz kontroli źródła, jest mało prawdopodobne, że chcesz zatwierdzić kopię ngrok. /usr/local/binMoim zdaniem odpowiedź przenosząca plik wykonywalny do jest bardziej trwała.
Vincent Buscarello


5

Dla mnie na Windows 10

ngrok http 80

zachowuje się tak:

  • działa z wiersza polecenia (cmd.exe)
  • nie działa z Git Bash
  • nie działa z Windows PowerShell

2

Do instalacji w systemie Windows: Pobierz i wypakuj do dowolnego katalogu (powiedzmy dysk c)

  • Następnie kliknij dwukrotnie wyodrębniony ngrok.exeplik, a będziesz mógł zobaczyć plik command prompt.

  • I po prostu wpisz ngrok http 4040 // tutaj wystawiam [port 4040]


2

dodaj linię w .zshrc

# vi .zshrc

alias ngrok="/usr/local/lib/node_modules/node/lib/node_modules/node/lib/node_modules/ngrok/bin/ngrok"


0

Okna:

  1. Wyciąg.
  2. Otwórz folder
  3. Kliknij prawym przyciskiem myszy Windows Powershell.
  4. ngrock http 5000 {Twój numer postu zamiast 5000}
  5. Upewnij się, że serwer lokalny działa również na innym cmd.

// Nie martw się o krok autoryzacji



0

Jedynym rozwiązaniem, które działało dla mnie, było

yarn global add ngrok 
yarn global add exp

z npm otrzymywałem błędy uprawnień itp.



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.