ngrok命令未找到。

170

我正在尝试在我的一周新的Yosemite上安装ngrok(我已经在Windows上使用了一段时间,没有问题),以下是我迄今为止所遵循的步骤:

  1. 从此处https://ngrok.com/download下载ngrok。

  2. 解压文件并将Unix可执行文件复制到应用程序中。

现在我理解的是,我只需要打开终端,进入应用程序文件夹并输入ngrok http 80。结果是“未找到命令”。

我甚至在ngrok网站注册并从终端运行命令./ngrok authtoken“blablabla”,结果是“没有这样的文件或目录”。

有人能告诉我如何继续激活ngrok隧道吗?


15
首先确保你在正确的目录中。输入ls ngrok应该会显示文件存在。之后,./ngrok <任何选项>应该可以运行或者至少调用正确的程序。 - Phillip Mills
1
谢谢Phillip。我以为我在/Application文件夹里,但实际上不是。我试图从users/USERNAME/applications启动ngrok。 为了进入正确的文件夹,我只需从终端输入“cd /Applications”而不是“cd Application”。我想这些都是新手错误。非常感谢。 - Valina
3
一个 Mac 技巧是:在终端窗口中键入 "cd ",然后从 Finder 中拖动要进入的目录文件夹到终端。你拖动的内容会从图标变为文本字符串。 - Phillip Mills
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Valina
为什么不使用 https://pinggy.io? 它可以在不需要下载任何内容的情况下完成相同的操作。 - Bishakh Ghosh
20个回答

335

简短回答: 将可执行文件放入/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而不是其他文件夹,请阅读此篇文章


134
将ngrok移动到/usr/local/bin目录中。 - Anthony
如果这个方法对你不起作用,可以尝试下面两个 Vick Swigt 解决方案中的第二个响应。 - sab
在较新版本的 macOS 中,您将发现将二进制文件移动或复制到 /usr/bin 不再容易。创建别名或使用像 brew 这样的工具进行安装可能是更好的选择。 - tomcheney
1
我应该在哪里能找到这个usr文件夹? - StatTrakDiamondSword

109
在您的Mac上已经安装了Homebrew,您可以轻松地通过终端使用以下命令安装ngrok:

在终端中使用此命令即可:

$ brew install --cask ngrok

然后在命令行中使用以下命令来运行它:

$ ngrok http 8000

通过这个命令,您告诉ngrok基本上要创建一个通道到您的本地主机8000并为其分配一个互联网名称主机。

就是这样。您应该已经准备好了。


17
对我来说,brew cask install ngrok 报错 Error: Unknown command: cask。原来安装命令已更新为:brew install --cask ngrok - likesalmon
1
根据 https://ngrok.com/download 的说明,brew install ngrok/ngrok/ngrok 是我在 Apple Silicon 上成功的方法;对于我来说,解压可在 ngrok 仪表板中下载的文件(无论是通过 Finder 还是终端)都不起作用。 - Allison
1
成功在搭载苹果芯片的 Mac 上使用了 brew install ngrok/ngrok/ngrok - Balanagu Yashwanth
使用brew安装ngrok --cask - grumpyp

84
  • 下载zip文件。
  • 解压缩它。
  • 在您解压缩文件的当前位置(在解压缩文件夹内部)打开终端。
  • 在终端中执行以下命令:

    sudo cp ngrok /usr/local/bin          
    

    现在你的ngrok可执行文件已成功复制到/usr/local/bin目录中。现在你可以在终端中运行ngrok命令。


3
在我下载了ngrok压缩包后,这个在我的Ubuntu 18.04上运行成功了。 - Carmine Tambascia
2
这在 Mac 上也能运行。 - Segun Adeniji
在我的 Mac(Monterey 12.0.1)上,使用 sudo 终于成功了。我不明白为什么 ngrok 的安装手册没有提到将其复制到 usr/local/bin 的额外步骤。相反,他们说“ngrok 安装很容易。”是的,它很容易,但只有你知道如何操作。 - Herr_Hansen
这是一条直接的方法。 Ngrok应该将这个添加到他们的文档中。 - Funyinoluwa Kashimawo

33

我在我的MacOS上也遇到了这个问题,我用了这些简单的步骤,它对我很有效。

只需打开终端并进入您要启动ngrok的项目文件夹,然后解压已下载的文件即可。

$ unzip /path/to/ngrok.zip

完成此操作后,您无需对ngrok进行身份验证,只需运行此命令:

完成此操作后,您无需对 ngrok 进行身份验证,只需运行此命令:

./ngrok  http 80

现在应该可以正常工作了。


唯一对我真正起作用的就是这个。英雄! - Tom Cockram

28

这是我让它正常工作的方法...

对于 Mac

  1. 如果您通过下载链接下载,需要将ngrok路径添加到您正在使用的.bash_profile.bashrc中。

对于 Windows 10 bash:

  1. https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip下载ngrok。
  2. 将可执行文件ngrok.exe移动到C:\Windows\system32\ngrok.exe。
  3. 通过UI添加环境变量(在Windows徽标旁边的搜索栏中搜索“编辑帐户的环境变量”=>双击Users Variables下的Path => 点击New => 添加您的路径C:\Windows\system32\ngrok.exe => 单击OK)。
  4. 重新启动bash,您应该能够运行“ngrok http 80”命令。

你能展示一下在Mac上的样例吗? - Roger Perez
在终端中键入“echo $PATH”,查看返回的路径('/usr/local/bin:/usr/bin:/bin:/usr/sbin:...etc')。如果您在本地安装了软件包,则很有可能在user/local/bin或user/bin中,因此请尝试查看ngrok是否在其中列出,如果是,并且您的$PATH没有这些路径列出,请修改.bash_profile中的$PATH以包括它们。 https://coolestguidesontheplanet.com/add-shell-path-osx/ 希望这有意义..我的在My-MacBook-Pro/usr/local/bin/ngrok https://www.quora.com/Whats-the-difference-between-usr-bin-and-usr-local-bin - il0v3d0g
在Windows上对我有用,谢谢。 - Sebastian
Windows的解决方案对我很有帮助。谢谢你的指导。 - Qadir Hussain

23

我已按照 ngrok下载说明 中的指示操作:

在此输入图像描述

所以文件下载到了~/Downloads中。

但是我仍然需要将ngrok移动到我的二进制文件夹中,就像这样

mv ~/Downloads/ngrok /usr/local/bin

在终端中运行ngrok即可。


14

只需要下载它,解压并运行它。

./ngrok http 80

1
如果你在使用源代码控制,这会产生一个问题,因为你不太可能想提交 ngrok 的一个副本。在我看来,把可执行文件移动到 /usr/local/bin 更具可持续性。 - Vincent Buscarello

6
在Windows 10上,对我来说
ngrok http 80

表现如下:

  • 在命令提示符(cmd.exe)中可以运行
  • 无法从Git Bash中运行
  • 无法从Windows PowerShell中运行

要在git bash中使用,您可以将以下函数添加到.bashrc文件中

function ngrok { cmd.exe /c "ngrok $1 $2 $3";}

6

5

运行sudo npm install ngrok --g

这是一种非常简单的安装方式

使用sudo是因为你要全局安装它


请注意,此命令可能不反映ngrok的最新版本。 - jakobinn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接