-bash:ngrok:找不到命令

Lau*_*n F 15 bash ruby-on-rails heroku ngrok

我正在尝试将Twilio API集成到我的Rails应用程序中.我发现的教程建议使用ngrok将我的应用程序放在互联网上(而不是使用localhost).我已经安装并上传了ngrok,当我尝试从它所在的目录中调用它时,我得到:

-bash: ngrok: command not found.
Run Code Online (Sandbox Code Playgroud)

有谁知道我的问题可能是什么?也有人能解释一下ngrok对部署到heroku的做法吗?如果heroku工作相同,我会这样做.我是新手使用API​​,所以我不清楚为什么我使用ngrok.

谢谢!

Ram*_*mon 35

如果二进制文件不位于环境变量$ PATH中存储的其中一个文件夹中,则必须至少提供当前位置的相对路径.因此,如果您与二进制文件位于同一文件夹中,则必须使用它./ngrok


lac*_*der 16

要从任何目录访问,我必须将二进制文件移动到$ PATH

mv ngrok /usr/local/bin 
Run Code Online (Sandbox Code Playgroud)

为了从任何地方调用可执行文件.

更新:brew install ngrok不再有效,因为:

Error: No available formula with the name "ngrok"
Upstream sunsetted 1.x in March 2016 and 2.x is not open-source.
Run Code Online (Sandbox Code Playgroud)

因此,您需要从https://ngrok.com/download下载二进制文件

至于问题"ngrok对Heroku做了什么?",ngrok与Heroku完全不同,Heroku更复杂.Ngrok允许您使用安全隧道通过Internet公开正在运行的本地服务器.Heroku是一个用于Web应用程序的云托管平台.要使用ngrok,您只需运行本地服务器并通过ngrok公开它.通过ngrok连接到服务器的任何人实际上都在与运行本地计算机的服务器进行通信.使用Heroku,您的应用程序在云中的托管虚拟机上运行.这简直过分了,但简而言之,NGROk非常适合一些远程用户对您的服务器进行快速测试.它也可用于从虚拟化环境(即云ssh会话)内传输文件/数据等.