0

capistrano を使用して ubuntu サーバーにデプロイしようとすると、次のエラーが発生します。

Executing "cd /home/useracc/www/releases/20130420101911 && bundle install --gemfile /home/useracc/www/releases/20130420101911/Gemfile --path /home/useracc/www/shared/bundle --deployment --quiet --without development test"
    servers: ["dev.website.com"]
    [dev.self-sale.com] executing command
 ** [out :: dev.website.com] ERROR: Gem bundler is not installed, run `gem install bundler` first.
 ** [out :: dev.website.com] 
    command finished in 510ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/useracc/www/releases/20130420101911; true"
    servers: ["dev.website.com"]
    [dev.self-sale.com] executing command
    command finished in 613ms
failed: "sh -c 'cd /home/selfsale/www/releases/20130420101911 && bundle install --gemfile /home/useracc/www/releases/20130420101911/Gemfile --path /home/useracc/www/shared/bundle --deployment --quiet --without development test'" on dev.website.com

いくつかの検索を行ったところ、require "bundler/capistrano" を deploy.rb に追加することでこの問題を解決した人がいることがわかりました。

私はそれを試しましたが、違いはありません。

また、サーバーにバンドラーをインストールしようとしましたが、次のようになります。

$ gem install bundler
Fetching: bundler-1.3.5.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/local/rvm/gems/ruby-1.8.7-p371 directory.

ただし、RVM を設定した覚えがないので、少し混乱します。

誰か提案はありますか?

これは古いアプリです。これが私の宝石リストです。

% bundle exec gem リスト

* 地元の宝石 *

actionmailer (2.3.14) actionpack (2.3.14) activerecord (2.3.14) activeresource (2.3.14) activesupport (2.3.14) brightbox (2.3.9) bundler (1.3.5) capistrano (2.14.2) highline ( 1.6.16) hoe (3.5.2) hpricot (0.8.2) htmldoc (0.2.3) json (1.7.7) macaddr (1.6.1) mysql (2.9.1) net-scp (1.1.0) net- sftp (2.1.1) net-ssh (2.6.7) net-ssh-gateway (1.2.0) paginator (1.1.1) ラック (1.1.6) レール (2.3.14) rake (10.0.4) rdoc ( 4.0.1) RedCloth (4.2.9) rmagick (2.13.1) systemu (2.5.2) uuid (2.0.2) will_paginate (2.3.16) wkhtmltopdf-binary (0.9.9.1)

ありがとう

4

1 に答える 1

1

問題は次のとおりだと思います: 特定の gemset にバンドラーがインストールされているため、アプリのディレクトリにいる場合にのみ使用できるため、バンドラーをグローバル gemset にインストールしてみてください。

rvm gemset use global && gem install bundler

于 2013-04-20T11:28:20.423 に答える