команда ngrok не найдена


90

Я пытаюсь установить ngrok(который я использовал некоторое время в Windows без проблем) на свой 1-недельный yosemite, и это шаги, которые я выполнил до сих пор.

  1. Скачал ngrok отсюда https://ngrok.com/download .

  2. Разархивируйте файл и скопируйте исполняемый файл Unix в приложение.

Теперь, насколько я понимаю, мне просто нужно открыть терминал, перейти в папку приложения и написать ngrok http 80. Результатом будет «команда не найдена».

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

Может ли кто-нибудь сказать мне, как продолжить, чтобы иметь возможность активировать туннель с помощью ngrok?


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

1
Спасибо, Филипп .. Я считал само собой разумеющимся, что я был в / Application, но я не был .. Я пытался перебрать ngrok из пользователей / USERNAME / applications. Чтобы перейти в нужную папку, я только что написал с терминала "cd / Applications" вместо "cd Application". Думаю, это ошибки новичков. Большое спасибо
Валина

3
Уловка Mac заключается в следующем: введите «cd» в окне терминала, а затем перетащите папку для каталога, в котором вы хотите находиться, из Finder в терминал. То, что вы перетаскиваете, изменяется от значка до текстовой строки.
Филлип Миллс,

Хороший трюк ... Он также работает с командой "ls", если вам нужно увидеть содержимое папки в терминале. Спасибо Филиппу;)
Валина

Ответы:


167

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

Длинный ответ : когда вы вводите команды, как ngrokв терминале, Mac (и другие ОС Unix) ищут эти программы в папках, указанных в вашем 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

60

Если 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 после того, как я загрузил zip-архив 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 => дважды щелкните Путь в разделе «Пользовательские переменные для yourusername» => Нажмите «Создать» => добавьте свой путь C: \ Windows \ system32 \ ngrok.exe => нажмите ОК.
  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.