Команда ngrok не знайдена


90

Я намагаюся встановити ngrok(який я вже давно використовую у Windows без проблем) на своєму 1-тижневому йосеміті, і це кроки, яких я досі виконував.

  1. Завантажено ngrok звідси https://ngrok.com/download .

  2. Розпакуйте файл і скопіюйте виконуваний файл Unix у програму.

Тепер, наскільки я розумію, мені просто потрібно відкрити термінал, переміститися всередину папки програми та написати ngrok http 80. Результатом цього є "команда не знайдена".

Я навіть зареєструвався на ngrokвеб-сайті і запустив команду з терміналу, ./ngrok authtoken "blablabla"і результат: "Немає такого файлу або каталогу"

Хтось може сказати мені, як діяти, щоб мати можливість активувати тунель ngrok?


6
Для початку переконайтесь, що ви знаходитесь у правильному каталозі. ls ngrokповинен показати вам, що файл існує. Після цього ./ngrok <whatever options>слід запрацювати або принаймні викликати потрібну програму.
Філіп Міллз,

1
Дякую Філіп .. Я сприймав як належне, що я був у / Програмі, але я не був .. Я намагався обідати ngrok від користувачів / ІМЯ / ПРОГРАМИ. Щоб зайти в потрібну папку, я щойно написав із терміналу "cd / Applications" замість "cd Application". Я думаю, це помилки новачка. Щиро дякую
Валіна

3
Хитрість для Mac полягає в тому, що: введіть "cd" у вікні терміналу, а потім перетягніть папку для каталогу, в якому ви хочете бути, з Finder до терміналу. Те, що ви перетягуєте, змінюється від піктограми до текстового рядка.
Філіп Міллс

Приємний фокус .. Він також працює з командою "ls", якщо вам потрібно переглянути вміст папки в терміналі. Спасибі Філіп;)
Валіна

Відповіді:


166

Коротка відповідь : Помістіть виконуваний файл /usr/local/binзамість програм. Тепер ви повинні мати можливість запускати такі команди, як ngrok http 80.

Довга відповідь : Коли ви вводите команди, як ngrokу терміналі, Mac (та інші Unix OS) шукають ці програми у папках, вказаних у вашому PATH. Це PATHсписок папок, який визначає кожен користувач. Щоб перевірити свій шлях, відкрийте термінал і введіть: echo $PATH.

Ви побачите результат , який виглядає приблизно так: /usr/local/bin:/usr/bin:/bin. Це :окремий список папок.

Тому , коли ви вводите ngrokв терміналі, ваш Mac буде шукати цей виконуваний файл в наступних папках: /usr/local/bin, /usr/bin/і /bin.

Прочитайте цю публікацію, якщо вам цікаво дізнатись, чому слід віддавати перевагу usr/local/binіншим папкам.


56
mv ngrok /usr/local/bin
Ентоні

Якщо це не працює для вас, спробуйте рішення Vick Swigt із двома відповідями нижче.
пн

у новіших версіях macOS вам не буде легко переміщувати або копіювати двійкові файли в / usr / bin, створюючи псевдонім або використовуючи щось на зразок brew для встановлення, може бути кращим варіантом
SlimCheney

59

Якщо Homebrew вже встановлено на вашому Mac, ви можете легко встановити ngrok з терміналу, використовуючи цю команду:

$ brew cask install ngrok

Потім запустіть його з оболонки, використовуючи цю команду:

$ ngrok http 8000

За допомогою цієї команди ви говорите ngrok в основному створити тунель для вашого localhost 8000 і призначити для нього хост імен Інтернету. І це все. Вам слід добре піти.


51
  • Завантажте zip-файл.
  • Розпакуйте його.
  • Відкрийте термінал у поточному місці (всередині папки розпакування), де ви розпакуєте файл.
  • Виконайте в терміналі таку команду:

    sudo cp ngrok /usr/local/bin          
    

    Тепер ваш виконуваний файл ngrok успішно скопійовано в каталог / usr / local / bin . Тепер ви можете запустити команду ngrok у терміналі


2
Це працювало на моєму ubuntu 18.04 після того, як я завантажив zgro-файл ngrok.
Carmine Tambascia

23

Я також стикався з цією проблемою на своєму MacOS, я використовував ці прості кроки, і це працювало для мене.

Просто відкрийте термінал і перейдіть до папки вашого проекту, де ви, що почати ngrok, а потім розпакуйте завантажений файл.

$ unzip /path/to/ngrok.zip

Після цього вам не потрібно автентифікувати ngrok, просто запустіть цю команду:

./ngrok  http 80

Це повинно працювати зараз.


14

Ось як я змусив це працювати ..

Для Mac

  1. Якщо ви завантажили за посиланням для завантаження, вам потрібно додати шлях ngrok до вашого .bash_profile або .bashrc, який би ви не використовували.

Для Windows 10 bash:

  1. Завантажте ngrok з https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip
  2. Перемістіть виконуваний файл ngrok.exe до C: \ Windows \ system32 \ ngrok.exe
  3. Додайте змінні середовища через користувальницький інтерфейс (знайдіть "Редагувати змінні середовища для вашого облікового запису" на панелі пошуку поруч із логотипом Windows => двічі клацніть на Шлях у розділі Змінні користувачів для вашогокористувача = = Клацніть Створити => додайте свій шлях C: \ Windows \ system32 \ ngrok.exe => натисніть OK.
  4. Перезапустіть bash, і ви зможете запустити команду "ngrok http 80".

Чи можете ви показати приклад того, як це виглядає для Mac?
Роджер Перес

Введіть "echo $ PATH" у своєму терміналі та подивіться, які шляхи повертаються назад ('/usr/local/bin:/usr/bin:/bin:/usr/sbin:...etc'). Якщо ви встановили свій пакет локально, швидше за все, він знаходиться в user / local / bin або user / bin, тому спробуйте перевірити, чи вказаний там ngrok, якщо так, і ваш $ PATH не має вказаних шляхів, змініть $ PATH в. bash_profile, щоб включити їх. coolestguidesontheplanet.com/add-shell-path-osx сподіваюся, що це має сенс .. Моє в My-MacBook-Pro / usr / local / bin / ngrok quora.com/…
il0v3d0g

10

просто завантажте його, розпакуйте його і запустіть

./ngrok http 80

1
Це створює проблему, якщо ви використовуєте керування джерелом, навряд чи ви захочете скопіювати копію ngrok. На /usr/local/binмою думку, відповідь, на яку можна перемістити виконуваний файл, є більш стійкою.
Вінсент Бускарелло,

6

Для Linux : https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

Для Mac : https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-amd64.zip

Для Windows : https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip

розпакуйте його, щоб користувачі Linux та mac перемістили файл /usr/local/binі виконали ngrok http 80команду в терміналі

Я не маю уявлення про вікна


5

У Windows 10 для мене

ngrok http 80

поводиться так:

  • працює з командного рядка (cmd.exe)
  • не працює від Git Bash
  • не працює від Windows PowerShell

2

Для встановлення в Windows: завантажте та витягніть у будь-який каталог (скажімо, диск c)

  • Потім двічі клацніть на витягнутому ngrok.exeфайлі, і ви зможете побачити файл command prompt.

  • І просто введіть ngrok http 4040 // тут я викриваю [порт 4040]


2

додати рядок у .zshrc

# vi .zshrc

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


0

Windows:

  1. Витяжка.
  2. Відкрити папку
  3. Клацніть правою кнопкою миші Windows Powershell.
  4. ngrock http 5000 {номер вашого повідомлення замість 5000}
  5. Переконайтесь, що локальний сервер також працює на іншому cmd.

// Не турбуйтеся про крок автентифікації



0

Єдине рішення, яке працювало для мене, було

yarn global add ngrok 
yarn global add exp

з npm я отримував помилки дозволу тощо.



-1

У шортах ngrok повинен знаходитися в тому самому каталозі, в якому ви виконуєте команду ngrok.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.