Vagrant環境でHerokuを使う際にHeroku CLIのインストールでハマった際の備忘録です
同じようにハマった際に参考になればと思います
環境
-
macOS Mojave 10.14.6
-
VirtualBox 6.0
-
Vagrant 2.2.4
-
CentOS 6.7
Heroku CLIとは
Herokuに関してはこちらが参考になります
Herokuを使用する際のコマンドラインツールが Heroku CLI です
Heroku CLI インストール時のエラー
$ curl https://cli-assets.heroku.com/install.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
105 1892 105 1892 0 0 6145 0 --:--:-- --:--:-- --:--:-- 55647
This script requires superuser access.
You will be prompted for your password by sudo.
Your path is missing /usr/local/bin, you need to add this to use this installer.
原因
- /usr/local/bin のパスが無いから作れ
- sudo で実行しろ > rootユーザで実行していない
1. /usr/local/binのパス追加
現在のパスを確認
$ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
確かに/usr/local/binがないです
vagrantのデフォルトのパスがどうなっているかは分かりませんが、私の環境では/usr/local/bin
はありませんでした
/usr/local/binをパスに追加し,再度パスを確認
$ export PATH=/usr/local/bin:$PATH
$ echo $PATH
/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
パスが追加されました
間違ったパスを追加してしまったら
間違ったパスを追加してしまって削除したい場合は/home/vagrant/.bash_profile
や/home/vagrant/.bashrc
などのパスを設定しているファイルの中の記述を消せばok
2. rootユーザに切り替えてHeroku CLI のインストール
vagrantのユーザー切り替えは以下を参考にしました
rootユーザに切り替え
$ sudo su
プロンプトの表示などに変化があれば正常にrootユーザに切り替えできています
rootユーザに切り替えたので再度実行
$ curl https://cli-assets.heroku.com/install.sh | sh
.
.
heroku installed to /usr/local/bin/heroku
heroku/7.30.1 linux-x64 node-v11.14.0
$ heroku --version
heroku/7.30.1 linux-x64 node-v11.14.0
Heroku CLI のインストール成功しました
vagrantユーザに戻します
$ su vagrat
ユーザ切り替え時の補足
-
ユーザ切り替え時に場合によっては管理者パスワードを聞かれる場合もあります
-
Vagrantはデフォルトで管理者パスワードは
vagrant
で設定されています
まとめ
以前Herokuを使った時にはherokuコマンドのパス修正が必要でしたが、今回は必要ありませんでした
当たり前ですが、使うツールはどんどん変化するのでちゃんと対応できるように基本的な知識をちゃんと勉強しておかないといけないなと思いました汗