6

I have installed heroku cli following their ref https://devcenter.heroku.com/articles/heroku-cli

using snapd on Manjaro arch-based linux distro

It was installed successfully and just to make sure

When I run this cmd

sudo snap install heroku

I get

snap "heroku" is already installed, see "snap refresh --help"

but when I try to verify the CLI installation using this cmd

heroku --version

I get

bash: heroku: command not found
aldokkani
  • 853
  • 1
  • 8
  • 17

3 Answers3

2

It generally means that the directory in which you have installed your package is not included in your $PATH.

Look at the output of

echo $PATH

and export the path of the directory containing heroku's executable if it's not already included.

Read more about exporting paths here.

You might want to source your .bashrc file (or .zshrc if you are on ZSH) after exporting.

To check if the export is successful, you can type in which herokuand confirm the same.

Cheers!

anilkumarggk
  • 166
  • 1
  • 11
2

You can run like this:

    snap run heroku

Examples:

    snap run heroku --version
    snap run heroku login -i
1

I have heroku just installed using snap and had the same issue. Also, I noticed that I could run heroku using sudo.

The executable was placed in /snap/bin/heroku, so i just did this (considering /usr/bin is already in $PATH):

sudo ln -s /snap/bin/heroku /usr/bin/heroku

Since I had previously run heroku with sudo, the directory ~/.cache/heroku/ , owned by root, was created. So I got an error message when first ran the command as non-root:

Error Plugin: heroku: EACCES: permission denied, open '/home/carlos.brasileiro/.cache/heroku/lastrun'

I removed that ~/.cache/heroku/ and it got ok.