找不到Heroku命令

bar*_*art 29 heroku

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

heroku
Run Code Online (Sandbox Code Playgroud)

我收到错误:

bash: heroku: command not found
Run Code Online (Sandbox Code Playgroud)

当我做:

gem environment
Run Code Online (Sandbox Code Playgroud)

我明白了:

- 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/
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加几个路径到$ PATH,但没有任何作用......

Gar*_*son 31

安装Toolbelt后手动添加符号链接为我修复了它.

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


Moh*_*lal 19

(这个答案适用于典型的其他人,可能会落在这里,并且可能会发现它很有用)

如果你snap通过命令行使用命令来安装heroku snap 如下
sudo snap install heroku --classic (你将在heroku doc中找到的东西).
安装后,heroku命令不可用.然后在这里解决方案和原因:

首先要知道,当您安装新的快照时,它会被添加到/snap文件夹中.创建具有快照名称的新文件夹(/snap/heroku),并将该命令的可执行文件添加到/snap/bin (/snap/bin/heroku).

尝试

/snap/bin/heroku help
Run Code Online (Sandbox Code Playgroud)

你会发现它的效果非常好.

解决方案:所以你只需要将/ snap/bin添加到PATH环境变量中.

Heroku假设它已经完成了.我不知道,如果应该在安装snapd软件包时自动完成.但无论如何,就是这样.

有关如何向PATH环境变量添加新路径的信息,请查看下面的链接,以获得一个好主意(例如,您还不知道):

这里链接有关您需要注销和登录或重新启动的原因

这是一个例子:

sudo nano /etc/environment
Run Code Online (Sandbox Code Playgroud)

我选择通过/ 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
Run Code Online (Sandbox Code Playgroud)

你可以看到我在最后添加它(那么简单).
重新启动计算机或注销并重新登录(PAM脚本在会话创建时处理/ etc/environment中PATH的构造)

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

source /etc/environment && export PATH
Run Code Online (Sandbox Code Playgroud)

(它只影响当前打开的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
Run Code Online (Sandbox Code Playgroud)

我只添加了一行(最后一行,并注意整个文件中的一部分(/ etc/profile)).
重新启动或注销并重新登录.

执行 :

source /etc/profile
Run Code Online (Sandbox Code Playgroud)

立即运行(影响当前的shell和子进程).

如果我们想象一下,有不同的方法可以添加到PATH,即使是无限的方式.这些方式之间的区别在于它何时被设置和执行,以及它达到的范围.同样也是组织方面(我可以拥有自己的文本列表(每行一个路径),并以正确的方式和位置编译和执行).更好地看到上面的链接,我在那里做了一个很好的选择,以更好地了解事情是如何工作的,以及选择什么方法.但通常上面两个系统范围的配置,大多是你需要的.


ors*_*ady 17

请记住实际获取安装文件.

wget -0- wget https://toolbelt.heroku.com/install-ubuntu.sh | sh
Run Code Online (Sandbox Code Playgroud)

不适合我.作为一个linux noob,我使用了:

wget 0- wget https://toolbelt.heroku.com/install-ubuntu.sh | sh
Run Code Online (Sandbox Code Playgroud)

请注意,选项中缺少" - " wget.这将安装源下载到我当前的目录.

然后我做了:

bash install-ubuntu.sh 
Run Code Online (Sandbox Code Playgroud)

这为我完成了安装.

然后:

heroku login
Run Code Online (Sandbox Code Playgroud)

作品!!


Jag*_*ari 15

赶紧跑

$ gem install heroku
Run Code Online (Sandbox Code Playgroud)

形成你的应用程序就是这样.

  • 这不再可用。看来自制软件可能是个不错的选择。 (2认同)

sub*_*ker 6

我正在使用zsh,snap它的路径没有。因此,只需将其添加到中即可~/.zshrc

export PATH=$PATH:/snap/bin


Rog*_*rez 6

gem install heroku第一,它给了我下面的消息:

heroku 必须从cli.heroku.com安装。此宝石不再可用。(运行时错误)

来自 Heroku 的步骤:

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

或 Ubuntu

sudo snap install --classic heroku


Muh*_*ssa 6

尝试 npm install -g heroku任何平台。


unk*_*guy 5

当您按照文档在 Linux 中安装 heroku 时,使用

sudo snap install heroku --classic
Run Code Online (Sandbox Code Playgroud)

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

sudo ln -s  /snap/bin/heroku /usr/bin/heroku
Run Code Online (Sandbox Code Playgroud)

之后你就可以heroku在终端中运行命令。