LoginSignup
0
0

More than 1 year has passed since last update.

【Rails】Capistranoによる自動デプロイ

Last updated at Posted at 2023-02-14

Capistranoによる自動デプロイ設定で出た、Gemエラーの解消法を備忘として。

コマンド実行
% bundle exec cap production deploy

エラー内容

ターミナル実行結果
01:01 deploy:assets:precompile
      01 $HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile
      01 bundler: failed to load command: rake (/var/www/************/shared/bundle/ruby/2.6.0/bin/rake)
      01 Bundler::GemNotFound: Could not find date-3.3.3 in any of the sources
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/spec_set.rb:86:in `block in mate…
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/spec_set.rb:80:in `map!'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/spec_set.rb:80:in `materialize'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/definition.rb:170:in `specs'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/definition.rb:237:in `specs_for'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/definition.rb:226:in `requested_…
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:101:in `block in defi…
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:20:in `setup'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler.rb:149:in `setup'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/setup.rb:20:in `block in <top (r
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:136:in `with_level'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:88:in `silence'
      01   /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/setup.rb:20:in `<top (required)>'
#<Thread:0x00007fc265b3beb8@/Users/admin/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/sshkit-1.21.3/lib/sshkit/runners/parallel.rb:10 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):

エラー原因

3行目のここに注視!

Bundler::GemNotFound: Could not find date-3.3.3 in any of the sources

date-3.3.3ていうGem探したけどないよーーーー』 って言われました。
んむ。バージョンか何かの問題だと推測。
date-3.3.3とGemfileに記述してもエラー。

調べたところ、gem mailがにアップデートにされたことが原因のよう。

解消法

ちょうど同じエラー内容だったのでこちらの記事と、こちらの記事
を参考にさせて頂きました!助かりました〜

実行方法以下引用させて頂きました。
Gemfileの末尾に「gem 'mail', '2.7.1'」を追記。(mailのバージョンを下げる指定をすることで、dategemを取得しないようにする為。)
 *Gemfileに「gem 'date', '~> 3.3', '>= 3.3.3'」を記述した場合は、gem 'date'の記述を削除。
Gemfile.lockの削除
③ローカルでbundle install
④コミットプッシュ
EC2内で自動デプロイ実行(% bundle exec cap production deploy)

gem mailなのにgem dateにかかってくるのもまだ理解できていないですが、
取り急ぎこれにて解決できやっとこさ自動デプロイ完結できました!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0