CentOS7でherokuを扱う
herokuを使おうとすると、WindowsやMacになんかソフトいれないといけないです。インストーラーが用意されているので別に良いのですが、個人的にはクライアント側に公式で配布されているとはいえ使用頻度がそこまで高くないものを入れたくないというのがあります。
結論:手動でいれるほうが早い
これが全てでした。以下は記録用となります。メモとして残しておきます。手動のインストール方法ものせておきます。
余計なソフトはいれたくない
普段WindowsやMacを使っているのですが、思うのはやっぱり 余計なソフト はいれたくないというのがあります。特にコマンドで実行するようなソフトはいれたくないなーとういうのが本音です
開発に必要なソフトでは?
毎日使うソフトではないのと、ぶっちゃけワードやExcelとかのほうが入っていないと困るソフトですがコマンドで実行するソフトは 入って無くても困らない ソフトなので、極力インストールしたくないというのがあります。
gitはどうするの?
gitはクライアントソフト(GUI)があるのでそれを使っています。GUIクライアントがあるならしょうがないのでインストールしますがそいうでないならインストールしたくないというのが本音です
herokuはなぜ?インストーラーがあるよ?
PHPとかPythonとかももいえるのですが、公開するサーバーはCentOSとかLinuxであって、開発する環境(WindowsやMac)に入れて動いてもしょうがないんですよね。開発で動いても本番で動かないとなればそれは ゴミ と同じなのです。なら最初からCentOSでアップロードしたりすればいいかなーと思います。
普段開発はどうやっているの?
僕は普段からCentOSで実行したりしているので、WinやMacにPythonやPHPが動く環境は作っておりません。作る気もありません。
時間の無駄では?
そこが課題です。。。gitでプッシュしたら勝手に反映されてくれないかなーと思っています。
なぜCentOS?
herokuの公式サイトとかにはUbuntu16以降というのがあります。Ubuntuと相性良いのかわからないのですがCentOS7を僕は普段使っているのでその情報がないのと、多くはWinやMacに入れてつかうという個人的にはいらない情報なので残してみます
herokuに登録
無料アカウントでしてください。ブラウザでできます
CentOS7でheroku-CUIをインストール
ではやってみたいと思います。上手くいくと良いなーと思っております。Docker環境ではうまくいかないのでご注意ください
snapdをインストール
herokuのサイトをみると「Ubuntu 16以降」とあり、コマンドが載っています
sudo snap install heroku --classic
よくわからないですが、僕はUbuntuではないので使えません。調べると snap というコマンドがあるのでそれを使うみたいです。
[root@localhost ~]# yum install snapd
これでインストールできます
起動
インストールできたので起動します
[root@localhost ~]# systemctl start snapd [root@localhost ~]# systemctl status snapd ● snapd.service - Snap Daemon Loaded: loaded (/usr/lib/systemd/system/snapd.service; disabled; vendor preset: disabled) Active: active (running) since 火 2020-06-30 22:16:21 JST; 4s ago Main PID: 2637 (snapd) Tasks: 8 Memory: 12.1M CGroup: /system.slice/snapd.service mq2637 /usr/libexec/snapd/snapd 6月 30 22:16:21 localhost.localdomain systemd[1]: Starting Snap Daemon... 6月 30 22:16:21 localhost.localdomain snapd[2637]: AppArmor status: apparmor not enabled 6月 30 22:16:21 localhost.localdomain snapd[2637]: daemon.go:343: started snapd/2.45-1.el7 (series 16; classic; devmode) centos/7 (amd64) linux/3.10.0-1127.el7.x86_64. 6月 30 22:16:21 localhost.localdomain snapd[2637]: daemon.go:436: adjusting startup timeout by 30s (pessimistic estimate of 30s plus 5s per snap) 6月 30 22:16:21 localhost.localdomain snapd[2637]: helpers.go:105: error trying to compare the snap system key: system-key missing on disk 6月 30 22:16:21 localhost.localdomain systemd[1]: Started Snap Daemon.
無事できました。
herokuのインストール
herokuがあるのか確認をします
[root@localhost ~]# snap find heroku Name Version Publisher Notes Summary heroku v7.42.0 heroku? classic CLI client for Heroku postbird 0.8.4 pavel-evst - PostgreSQL GUI client heroku-cli-test 6.12.10 karatecowboy - Heroku CLI u1test20160809 5.2.19 u1test20160809 - The Heroku CLI is used to manage Heroku apps from the command line. [root@localhost ~]#
ありました。herokuのインストールをしてみます
[root@localhost ~]# snap install heroku --classic error: cannot install "heroku": classic confinement requires snaps under /snap or symlink from /snap to /var/lib/snapd/snap
エラーですね。。。リンク貼れって事でしょうか。。。貼ります
[root@localhost ~]# ln -s /var/lib/snapd/snap /snap [root@localhost ~]# snap install heroku --classic 2020-06-30T22:23:43+09:00 INFO Waiting for automatic snapd restart... Warning: /var/lib/snapd/snap/bin was not found in your $PATH. If you've not restarted your session since you installed snapd, try doing that. Please see https://forum.snapcraft.io/t/9469 for more details. heroku v7.42.0 from Heroku? installed
インストールできたっぽいです
herokuコマンド実行
herokuのコマンドを実行してみます
[root@localhost ~]# heroku login -bash: heroku: コマンドが見つかりません
諦めた
snapだとどうやらPATHが通ってなくて通さないといけないみたいです。正直面倒なのでsnap使わなくてもいいやとなりました。
手動でインストール
手動でインストールしていきます
[root@localhost lib]# cd /usr/local/lib [root@localhost lib]# wget https://cli-assets.heroku.com/heroku-linux-x64.tar.gz
ファイルの解凍
[root@localhost lib] tar xvzf heroku-linux-x64.tar.gz -C /usr/local/lib
リンクを貼ります
[root@localhost lib] ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
確認
[root@localhost lib]# heroku --version heroku/7.42.1 linux-x64 node-v12.16.2
ログインしてみる
[root@localhost /]# heroku login heroku: Press any key to open up the browser to login or q to exit: Opening browser to https://cli-auth.heroku.com/auth/cli/browser/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx ? Warning: Cannot open browser. Logging in... done Logged in as test@example.jp [root@localhost /]#
できました
結論
Snapより自分でいれるほうが早い
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS