使用 snapd 在 archlinux 上安装 Heroku cli:找不到命令

Posted

技术标签:

【中文标题】使用 snapd 在 archlinux 上安装 Heroku cli:找不到命令【英文标题】:Installing Heroku cli on archlinux using snapd :command not found 【发布时间】:2017-12-14 08:28:07 【问题描述】:

我已经按照他们的 ref https://devcenter.heroku.com/articles/heroku-cli 安装了 heroku cli

在基于 Manjaro 架构的 Linux 发行版上使用 snapd

它已成功安装,只是为了确保

当我运行这个 cmd 时

sudo snap install heroku

我明白了

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

但是当我尝试使用这个 cmd 验证 CLI 安装时

heroku --version

我明白了

bash: heroku: command not found

【问题讨论】:

我遇到了同样的问题。尝试重新启动系统,然后使用 heroku 命令。 试试这个wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh 重启系统对我有用(尽管注销并重新登录可能就足够了)。 【参考方案1】:

这通常意味着您安装软件包的目录不包含在您的 $PATH 中。

看看

的输出
echo $PATH

并导出包含 heroku 可执行文件的目录的路径(如果尚未包含)。

阅读更多关于导出路径here。

您可能希望在导出后获取 .bashrc 文件(或 .zshrc,如果您在 ZSH 上)。

要检查导出是否成功,您可以输入which heroku并确认。

干杯!

【讨论】:

heroku 安装在/snap/bin 所以将它添加到你的PATH【参考方案2】:

你可以这样运行:

    snap run heroku

例子:

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

【讨论】:

【参考方案3】:

我刚刚使用 snap 安装了 heroku,并且遇到了同样的问题。另外,我注意到我可以使用 sudo 运行 heroku。

可执行文件放在 /snap/bin/heroku 中,所以我只是这样做了(考虑到 /usr/bin 已经在 $PATH 中):

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

由于我之前使用 sudo 运行 heroku,因此创建了 root 拥有的目录 ~/.cache/heroku/ 。所以当我第一次以非 root 身份运行命令时收到一条错误消息:

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

我删除了 ~/.cache/heroku/ 并且一切正常。

【讨论】:

以上是关于使用 snapd 在 archlinux 上安装 Heroku cli:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 使用 snapd 安装 NodeJS 版本 14

在 OpenSuse 上通过 snapd 安装的 couchdb 无法正常工作

如何解决“snapd返回状态码400:错误请求”?

Archlinux在Btrfs分区上的安装(bios篇)

ArchLinux 安装笔记 --zz

markdown 在Archlinux上安装Hearthstone