【Railsチュートリアル】Railsプロジェクトに身に覚えのないherokuディレクトリがあったときの対処法
はじめに
Railsチュートリアルをcloud9環境で進めているとハマったので共有。
問題
Railsチュートリアルを久々に再開して色々やってると、作業プロジェクト内にこんなディレクトリが作られていた。
./sample_app/heroku
中身はbinやlibがありどうやらherokuコマンドの実体みたい。
ただし、herokuコマンドの実体は/usr/localに配置されているのでここに置かれる意味は不明。
何よりこんなものを作った覚えはない。
結論
ゴミディレクトリのため削除してください。
原因
./sample_appで以下コマンドを実行したため。
source <(curl -sL https://cdn.learnenough.com/heroku_install)
Railsチュートリアルを再開した時、herokuがまったく動かずRailsチュートリアルに記載されているこのコマンドを実行したらちゃんと動いたので放置してたが。これが原因。
https://cdn.learnenough.com/heroku_install
ここにアクセスして実際にダウンロードされるファイルの内容はこんな感じ。
1. 圧縮状態のソースファイルをカレントディレクトリにダウンロード
2. 解凍してアプリを展開
3. アプリを/usr/localに移動させる
4. /usr/localに移動させたアプリにPATHを通す
→ herokuコマンドが実行可能となる
curl -OL https://cli-assets.heroku.com/heroku-linux-x64.tar.gz
tar zxf heroku-linux-x64.tar.gz && rm -f heroku-linux-x64.tar.gz
sudo mv heroku /usr/local
echo 'PATH=/usr/local/heroku/bin:$PATH' >> $HOME/.profile
source $HOME/.profile > /dev/null
2回目以降に実行すると、./sample_app/herokuから/usr/local/herokuへの移動が失敗してプロジェクト内に残り続けたみたい。
mv: cannot move ‘heroku’ to ‘/usr/local/heroku’: Directory not empty
ただ、herokuコマンドへのPATHは通ったので見落とした模様。
対策
ターミナル起動時にPATHを通しておく。
$ vim ~/.bashrc
PATH=/usr/local/heroku/bin:$PATH
※ 初回インストールのときに$HOME/.profileにherokuのPATHを通す設定を追記しているのでわざわざ設定する必要はないと思われるが、、、
「.profile」は「.bash_login」の補欠らしい。
つまり、clound9だと「.bash_login」があるため設定が読み込まれない。
参考:https://wa3.i-3-i.info/word13652.html
メモ
コマンドの結果はちゃんと見ておこう。
「3.4.2 タイトルを追加する」を再開しようとした時に発生。
Author And Source
この問題について(【Railsチュートリアル】Railsプロジェクトに身に覚えのないherokuディレクトリがあったときの対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/kyorop/items/eb570a230661bb05c559著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .