Search code examples
djangolocalhostngrok

Moved ngrok executable to /usr/local/bin but when I run './ngrok http 8000' it returns 'zsh: no such file or directory: ./ngrok'


Not familiar with ngrok, I am reading a book on Django and am trying to set it up. Another question on here (ngrok command not found) said to put the executable in usr/local/bin. I put it here but when I run ./ngrok http 8000 it returns zsh: no such file or directory: ./ngrok

Somethings I can add, I am using a virtual environment and echo $PATH returns the following: /Users/justin/Desktop/djangoByExample/sm/env/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

The only thing I am thinking is that because I am in a virtual environment it is not looking at /usr/local/bin on my machine and that I need to put this ngrok executable somewhere else related to my virtualenv?

Not sure if I provided enough info, please let me know if anything is missing and thanks for any help.


Solution

  • Some unix 101:

    • A single dot ('.') refers to the current directory.
    • A double dot ('..') refers to the parent directory.

    As a result, executing ./ngrok will look for ngrok in the current directory. If you moved it to /usr/local/bin but you are in /Users/justin, it will still look for /Users/justin/ngrok.

    We can execute programs in any directory mentioned in $PATH, by not using a directory reference, but just the program name:

    ngrok

    That's it.