Heroku命令未找到。

41
在安装Heroku Toolbelt之后,在Mac终端中尝试运行以下命令时:
heroku

我遇到了以下错误:
bash: heroku: command not found

当我执行以下操作:

gem environment

I get:

- RUBYGEMS VERSION: 1.3.6
- RUBY VERSION: 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
 - ruby
 - universal-darwin-11
- GEM PATHS:
 - /Library/Ruby/Gems/1.8
 - /Users/Bart/.gem/ruby/1.8
 - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :benchmark => false
 - :backtrace => false
 - :bulk_threshold => 1000
- REMOTE SOURCES:
 - http://rubygems.org/

我尝试将多个路径添加到$PATH中,但都没有起作用...


6
您是否重新启动了您的 shell?或者只是运行 source ~/.bashrcsource ~/.bash_profile 命令? - pjam
和我遇到完全相同的问题。我使用的是OSX 10.8.1。 - Matt Bridges
在http://toolbelt.heroku.com的底部,它说:“Heroku命令行客户端将安装到/usr/local/heroku,并将可执行文件作为/usr/bin/heroku进行符号链接。”对我来说,在运行安装程序后,/usr/bin/heroku不存在。你那里有吗? - Matt Bridges
@pjam 我遇到了错误:“bash: /Users/Bart/.bashrc: 没有那个文件或目录” - bart
与Windows相关,但需要注意,如果您在非管理员账户下登录并在安装程序启动时输入管理员凭据,并允许安装程序将Heroku添加到“PATH”,它仅会将其添加到管理员账户的个人“PATH”中,您必须手动更改为系统范围的“PATH”。之后,在以非管理员身份运行cmd时,您应该能够运行Heroku。 - k..
显示剩余2条评论
14个回答

35

在安装完Toolbelt之后,手动添加符号链接对我很有帮助。

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


这对我在Mountain Lion上解决了问题。Twitter上的一个人报告说,安装在Mountain Lion上只是起作用了。另一个人报告说,他们不得不在Linux中手动创建符号链接。 - Aral Balkan
这个方法在Debian Squeeze上解决了我的问题。 - eeeeeean
谢谢!这解决了我的Ubuntu 12.10问题。 - Guy Korland
谢谢。Toolbelt是通过vagrant box模板安装的,这使得它变得可访问。 - kevinwmerritt
1
在10.9.2版本中,这个命令是有效的,但我不得不将其更改为: sudo ln -s /usr/local/heroku/bin/heroku /usr/local/bin/heroku - Jason Preston

32

(这个答案适用于其他可能会来到这里并发现它有用的人)

如果您使用以下命令行来安装Heroku snap:
sudo snap install heroku --classic(你将在Heroku文档中找到此事)。
安装完成后,heroku命令不可用。 这里是解决方案和原因:

首先要知道的是,当您安装新的snap时,它会添加到/snap文件夹中。 创建一个带有snap名称的新文件夹(/snap/heroku),并将命令的可执行文件添加到/snap/bin中(/snap/bin/heroku)。

尝试运行以下命令:

/snap/bin/heroku help

你只需要将 /snap/bin 添加到你的 PATH 环境变量中,它会很好地发挥作用。

Heroku 假定这已经完成了。我不知道在安装 snapd 包时是否应该自动完成此操作。但无论如何,就是这样。

如果你还不知道如何将新路径添加到 PATH 环境变量中,请查看以下链接:

以下链接解释了为什么需要注销并重新登录或重启:

这是一个示例:

sudo nano /etc/environment

我选择通过 /etc/environment 添加路径(请记住不能使用 shell 命令)。

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/node-v9.6.1-linux-x64/bin:/snap/bin

您可以看到我将其添加在末尾(如此简单)。


重新启动计算机或注销并重新登录(PAM脚本在会话创建时从/ etc / environment处理路径的构建)

如果您想立即生效,请执行:

source /etc/environment && export PATH

(它只影响当前打开的 shell 和子进程)

这里有另一个在 /etc/profile 中执行的示例:

if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
PATH="$PATH:/snap/bin"
export PATH

我只是添加了一行代码(倒数第二行,注意这部分来自整个文件 (/etc/profile))。


重新启动或注销并重新登录。

执行:

source /etc/profile

立即投入运营(影响当前shell和子进程)。

添加到PATH的方式有很多种,即使我们尽情发挥想象力也有无限的方式。不同方式之间的区别在于何时设置、执行以及范围。还有组织方面的考虑(例如,我可以拥有自己的文本列表(每行一个路径),并将其编译并在正确的地方以正确的方式执行)。更好地查看上面的链接,我提供了很好的选择,以更好地了解事物的工作原理和选择方法。但通常,对于系统范围的配置,以上两种方法基本上是您所需的。


很高兴听到这个消息,谢谢你。祝你一切顺利。 - Mohamed Allal
我认为 snap 安装应该将其添加到 PATH,但在 Ubuntu 18.04/Heroku 7.19.4 上并非如此。 - michael_teter
/snap/bin/heroku login 让我成功登录了。谢谢。 - Mcrey Fonacier

20

请确保实际获取安装文件。

wget -0- wget https://toolbelt.heroku.com/install-ubuntu.sh | sh

对我没用。作为一个 Linux 新手,我使用了以下方法:

wget 0- wget https://toolbelt.heroku.com/install-ubuntu.sh | sh

请注意,wget选项中缺少“-”符号。这将下载安装源到当前目录。

然后我执行了以下操作:

bash install-ubuntu.sh 

它为我完成了安装。

然后:

heroku login

工作正常!!


这解决了我在Ubuntu 14.04上的问题。我按照文档中所说执行了wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh,但无法使用“heroku login”。谢谢。 - ssudaraka
这对我在Ubuntu 16.04上是完美的解决方案。谢谢@orsonady - Enkum

17

只需运行

$ gem install heroku

创建您的应用程序,就是这样。


这是针对Os X的解决方案。 - Shravan40
2
这已经不再可用了。看起来Homebrew可能是一个不错的选择。 - B Seven
heroku must be installed from cli.heroku.com. This gem is no longer available. (RuntimeError) - Muhammad Awais

11

尝试在任何平台上使用以下命令进行安装:npm install -g heroku


这样简短的“答案”,没有任何解释,最好作为评论。 - Adrian Mole
1
@Muhammed Moussa 谢谢,它也适用于 ARM 架构。 - Visruth

10

我正在使用zsh,但它的路径中没有snap。因此,只需在~/.zshrc文件中添加以下内容即可。

export PATH=$PATH:/snap/bin


优秀的解决方案,在Debian 10 Buster(2022年)上完美运行。谢谢。 - titoih

9

首先你需要运行 gem install heroku 命令,如果出现以下提示:

必须从 cli.heroku.com 安装 heroku 。这个 gem 已经不再可用。(RuntimeError)

按照 Heroku 的步骤操作:

  1. brew tap heroku/brew && brew install heroku

对于 Ubuntu 系统,可以执行以下命令进行安装:

sudo snap install --classic heroku


第一步:brew tap heroku/brew && brew install heroku。对我有用,谢谢。 - Moureen Caroline

5
当您按照文档使用Linux安装Heroku时,请注意以下内容:
sudo snap install heroku --classic

它将安装Heroku在/snap/bin/heroku内,但是当你在终端中输入命令时,它会查找 /usr/bin/ 目录,一个简单的解决方案是创建符号链接:

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

在此之后,您只需在终端中运行 heroku 命令即可。


4

首先安装Heroku:

wget -qO- https://toolbelt.heroku.com/install.sh | bash

之后,像@Garrett做的那样,添加二进制文件的符号链接:

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

2

导出快照目录

export PATH=$PATH:/snap/bin 

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