質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

Q&A

解決済

1回答

853閲覧

デプロイ時のrvenvの設定について教えてください。

koume

総合スコア458

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

0グッド

0クリップ

投稿2019/04/10 19:13

$ bundle exec cap production deploy:check の実行でrbenvのエラーが発生してしまい解決方法を教えていただけないでしょうか?
エラーは以下になります。

$ bundle exec cap production deploy:check DEBUG [ccfbb7c3] Running [ -d /root/.rbenv/versions/2.3.1 ] as panda@155.133.145.78 DEBUG [ccfbb7c3] Command: [ -d /root/.rbenv/versions/2.3.1 ] Enter passphrase for /home/vagrant/.ssh/id_rsa: DEBUG [f52cc971] Finished in 5.302 seconds with exit status 1 (failed). WARN rbenv: 2.3.1 is not installed or not found in /home/.rbenv/versions/2.3.1 on 155.133.145.78 上のIPアドレスはVPS側のIPアドレスです。

なにかrbenvがインストールされていないというようなエラーみたいですが、インストールはしています。
以下のように確認しました。(どちらもバージョン確認出来ます。)

vagrant(開発環境)側 $ rbenv -v rbenv 1.1.1-2-g615f844 $ ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux] VPS側 # rbenv -v rbenv 1.1.2 # ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

rbenvのパス

開発環境側 /home/vagrant/.rbenv VPS側 /root/.rbenv/bin/rbenv

Capistrano側の設定

config/deploy.rb set :rbenv_type, :user set :rbenv_path, '/root/.rbenv' set :rbenv_ruby, '2.3.1'

VPSのファイルをvimで確認してみました。

# vim /root/.rbenv/version 2.3.1

と設定していますがエラーコドを見るとroot/.rbenv/versionsのディレクトリを見ているのでエラーになるのではないか思いますが、たぶん/root/.rbenv/versionのファイルを見るようにすればいいかとも思いますが、
set :rbenv_path, '/root/.rbenv/version'と指定してもversionsに行ってしまいます。
どうすればいいのかわからないので質問させて頂きました。
根本的に間違っているのかもしれませんが、初めてのデプロイで全くわからないのです。
どなたか解決方法のご教示お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asm

2019/04/11 05:49

「rbenv versions」の結果をお願いします。
koume

2019/04/11 09:20

仮想マシン側 /home/vagrant/.rbenv/versions/2.3.1 VPS側 /root/.rbenv/versions/2.3.1 どちらもディレクトリなのでvim で表示してもなにも記述されていません。 仮想マシン側、VPS側 どちらも/.rbenv/versionには2.3.1というバージョンが記述されています。
asm

2019/04/11 09:30

いえ、rbenv versionsとコマンド打った時の結果をお願いしています。 というのも、ruby -vの結果だけではそれがrbenvによって管理されているrubyなのかが判断つかないのです。
koume

2019/04/11 10:10

大変失礼しました。$ rbenv versions と打ち込んだ結果になります。 仮想マシン側  * 2.3.1 (set by /home/vagrant/.rbenv/version) VPS側     * 2.3.1 (set by /root/.rbenv/version) 以上になっています。
koume

2019/04/11 10:35

記憶が定かではないのですが $ rbenv global 2.3.1 $ rbenv exec gen install bundler の2行を実行していなかった再度、実行してもいいものなのでしょうか?
asm

2019/04/11 11:13

> 以上になっています 正常にインストールされているように見えますね。 $ rbenv global 2.3.1 $ rbenv exec gem install bundler でしょうか? 実行してもよいと思いますよ
koume

2019/04/11 11:36

回答ありがとうございます。もし以下の3行を削除しでデプロイした場合どんな影響がありますか? set :rbenv_type, :user set :rbenv_ruby, '2.3.1' set :rbenv_custom_path, '/root/.rbenv' ためしに削除してdeploy:check してみたらエラーがでませんでした。
asm

2019/04/11 13:20

リモート側で $ rbenv uninstall 2.3.1 を実行し、失敗する事が検知できるのならばいいのではないでしょうか? (/root/.rbenv/versions/2.3.1を適当な名前に一旦リネームでも可)
koume

2019/04/12 01:05

$ rbenv uninstall 2.3.1を実行した場合、再度rbenvをインストールするのでしょうか? 「失敗することが検知できるならいい」とありますが、失敗しなかった場合の対応はどうなりますか? しつこいようですいませんが、宜しくお願いします。
guest

回答1

0

自己解決

いろいろサイトを調べて、以下のように記述したらエラーが出なくなりました。
set :rbenv_type, :user
set :rbenv_ruby_version, 'ruby_2.3.1'
set :rbenv_custom_path, '/root/.rbenv'

投稿2019/04/12 01:27

koume

総合スコア458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問