QA@IT

rvm/capistranoが読み込めない。

4753 PV

現在、Rails4でcapistrano3でRVMでrubyがインストールされた環境に、デプロイ環境を構築しようとしているのですが、エラーが出て困っています。

エラー内容は

cap aborted!
LoadError: cannot load such file -- rvm/capistrano
config/deploy.rb:19:in `<top (required)>'

という内容です。

deploy.rbの19行目は

require 'rvm/capistrano'

と書いています。

Gemfileは

group :development do
  gem 'capistrano', '~> 3.0'
  gem 'capistrano-bundler'
  gem 'capistrano-rails'
  gem 'capistrano-rbenv'
  gem "rvm-capistrano"
end

です。

実行コマンドは

cap production deploy:hoge

です。

エラー内容を見る限りではGemの書き忘れのエラーのように見えるのですが、上記の様にGemfileは書いています。
これは何が原因なのでしょうか?ご回答いただけると幸いです。

回答

bundle exec cap production deploy:hoge だとどうでしょうか?

なんらかの設定などで、capコマンドかならずbundler経由で呼び出されるのであれば問題なさそうなのですが…

bundle execがないと問題がおきそうなケースとしては、bundle install --pathなどでgemのインストール先を指定していて、かつシステムやユーザのgemとしてcapistranoが入っており cap コマンドがシステムやユーザがインストールをしたものを使っているが、おなじ方法で rvm-capistrano がインストールされていないために見付からないというところでしょうか。

かなりレアケースだとは思うのですが、試してみてはいかがでしょう。

編集 履歴 (1)
  • お返事ありがとうございます。ただ三日後ぐらいに再度やってみると、普通に実行できました。再現もできないので、原因がわからないのですが、なんとか解決できました。ただ、このようにフルパスでないと通らないパターンがあるという点で勉強になりました。ありがとうございました。 -
  • なにはともあれ解決しようでよかったです! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。