команда 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".
il0v3d0g
источник
Можете ли вы показать пример того, как это выглядит для 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
Keaz
источник
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 команду в терминале

Я понятия не имею о окнах

DEVas
источник
5

В Windows 10 для меня

ngrok http 80

ведет себя так:

  • работает из командной строки (cmd.exe)
  • не работает из Git Bash
  • не работает из Windows PowerShell
IAmBotmaker
источник
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"
Seunggabi
источник
1

В Windows ngrok.cmd хорошо работает с Git Bash, а не ngrok

Руслан Г
источник
0

Windows:

  1. Извлечь.
  2. Открыть папку
  3. Щелкните правой кнопкой мыши Windows Powershell.
  4. ngrock http 5000 {ваш номер сообщения вместо 5000}
  5. Убедитесь, что локальный сервер также работает на другом cmd.

// Не беспокойтесь о шаге аутентификации

user3156040
источник
0

запустите npm install ngrok --g очень простой способ установки

Валид Юссеф
источник
0

Единственное решение, которое сработало для меня, было

yarn global add ngrok 
yarn global add exp

с npm я получал ошибки разрешения и т. д.

Хуанма Менендес
источник
0

Ngrok можно установить с помощью Yarn, затем вы можете запустить Power Sheel. это был единственный способ, который работал у меня в Windows 10. Для начала вам нужно установить узел: https://nodejs.org/en/ . и пряжа: https://nodejs.org/en/ .

Эмануэль Холанда Баррозу
источник
-1

Вкратце, ngrok должен находиться в том же каталоге, в котором вы запускаете команду ngrok.

NameNotFoundException
источник