注:私は自分の環境でこの問題を修正/ハッキングしました(詳細は以下を参照)が、何が起こったのかを理解し、これが他の人に起こった場合のリソースを提供したいと思います。うまくいけば、これはStackのOKな使用法です。:)
マイケル・ハートルのRuby on Railsチュートリアル(第2版)を読んでいて、今日最初の大きな問題にぶつかりました。
第3章のセクション3.6.1「BundleExecの削除」では、次のコマンドを実行して、Ruby Version Manager(RVM)にすべてのプロジェクトのパスを「調整」させ、bundleexecの入力を頻繁に停止できるようにしました。
$ rvm get head && rvm reload
$ chmod +x $rvm_path/hooks/after_cd_bundler
$ cd /path/to/project
$ bundle install --binstubs=./bundler_stubs
..そして出来上がり!bundle、rvm 、または他の多くの一般的な関数を実行できなくなりました(Railsはまだ初めてなので、これらのコマンドがどのような関係や起源を共有しているかわかりません)。私はWindowsから来たので、完全に再起動しました。それは、たわごとがファンキーになったときに行うことですが、問題は解決しませんでした。BLLARG!
エラーは、bundle、rvmなどでも同じです。
-bash:rvm:コマンドが見つかりません
(注:また、この頃、xcode-select -switch from / Developerから他のより長くクレイジーなパスに変更しました-これが役割を果たす可能性があると思われる場合は、このリンクを参照してください)
私はいくつか掘り下げましたが、これは私の$ PATHと関係があるかもしれないことがわかりました。それで、重要な場合は、ここに私のenv$PATHがあります。
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
PATHが間違っているように見えました-そこにいくつかのRVMのもの、またはそこにいくつかのバンドラーのものがあるはずでした-それが変更のポイントでした!-それで私はもう少し掘り下げて、私のファイルシステムがまだ無傷で見栄えが良いことを発見しました(RVMがまだインストールされている、Gemfileがまだ正しいなど)、それでも私のターミナルセッションではRubyのバージョンが古い(v1.8.7)、 Railsもインストールされていなかったため、セッションまたはRVM固有の問題のように見え始めました。
さらに掘り下げてみたところ、ターミナルで次のコマンド( 〜/ .bash_loginから)を手動で実行すると、すべてが機能することがわかりました。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
はい!
ターミナルを閉じて再度開くと問題が再発しましたが、上記のコマンドを再実行すると問題は再び修正されました。明らかに、これはターミナルに正しくロードされていない問題ですよね?
上記のコマンドを〜/ .bash_profile(プロンプトスタイリング以外は以前は空でした)に移動しましたが、問題は完全に修正されました。ターミナルを閉じて再開することができ、レースに出かけます。
しかし何が起こった?!〜/ .bash_profileではなく〜/ .bash_loginにそのコマンドがあったのはなぜですか?何が起こっているのかを理解して、n00blyを減らし、他の人が私が今行った2時間のGoogle検索の冒険を回避できるようにしたいと思います。:)
ありがとう!
環境:
- Mac OS X 10.7.4(ライオン)
- ターミナル(ビルトイン)
- 崇高なテキスト2