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

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

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

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

Ruby on Rails 6

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

Q&A

解決済

2回答

1693閲覧

Rubyの新しいバージョンをインストールできない

nisetogashi

総合スコア6

Ruby

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

Ruby on Rails 6

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

0グッド

0クリップ

投稿2023/04/15 09:41

実現したいこと

・Rubyのバージョン3.2.2をインストールしたい
・バージョンを上げた際に、再起動してもバージョンが戻らないようにしたい

前提

Rubyで作成したアプリのデプロイ作業を行なっています。現在、EC2上のrubyをインストールしています。

今のバージョンは ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

バージョンアップさせたい経緯としては、
bundle exec rails assets:precompile RAILS_ENV=productionコマンド時にロードエラーになってしまいます。その原因がrubyが古いためなのではないかと考えたため新しいバージョンにしてエラー試したい。

発生している問題

関連する全てのコマンドとログ [ec2-user@ip-172-31-4-50 dog_worker]$ sudo yum -y install gcc-c++ openssl-devel readline-devel Loaded plugins: extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.7 kB 00:00:00 Package gcc-c++-7.3.1-15.amzn2.x86_64 already installed and latest version Package 1:openssl-devel-1.0.2k-24.amzn2.0.6.x86_64 already installed and latest version Package readline-devel-6.2-10.amzn2.0.2.x86_64 already installed and latest version Nothing to do [ec2-user@ip-172-31-4-50 dog_worker]$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv fatal: destination path '/home/ec2-user/.rbenv' already exists and is not an empty directory. [ec2-user@ip-172-31-4-50 dog_worker]$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build fatal: destination path '/home/ec2-user/.rbenv/plugins/ruby-build' already exists and is not an empty directory. [ec2-user@ip-172-31-4-50 dog_worker]$ sudo ~/.rbenv/plugins/ruby-build/install.sh [ec2-user@ip-172-31-4-50 dog_worker]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile [ec2-user@ip-172-31-4-50 dog_worker]$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile [ec2-user@ip-172-31-4-50 dog_worker]$ source ~/.bash_profile [ec2-user@ip-172-31-4-50 dog_worker]$ rbenv install 3.2.2 rbenv: /home/ec2-user/.rbenv/versions/3.2.2 already exists continue with installation? (y/N) yse To follow progress, use 'tail -f /tmp/ruby-build.20230415055549.27884.log' or pass --verbose Downloading ruby-3.2.2.tar.gz... -> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz Installing ruby-3.2.2... Installed ruby-3.2.2 to /home/ec2-user/.rbenv/versions/3.2.2 [ec2-user@ip-172-31-4-50 dog_worker]$ rbenv global 3.2.2 [ec2-user@ip-172-31-4-50 dog_worker]$ rbenv rehash [ec2-user@ip-172-31-4-50 dog_worker]$ rbenv exec gem install bundler Successfully installed bundler-2.4.12 Parsing documentation for bundler-2.4.12 Done installing documentation for bundler after 0 seconds 1 gem installed [ec2-user@ip-172-31-4-50 dog_worker]$ ruby -v ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux] ←なぜかupdateされない

該当のソースコード

ソースコード

試したこと

いくつか参考になりそうに記事を見るけて試しましたが、解決に至りませんでした。

Rubyの公式サイトも試しましがうまくいきませんでした。
https://ruby.studio-kingdom.com/rbenv/ruby_build/

補足情報(FW/ツールのバージョンなど)

<EC2>
Bundler version 2.4.12
Rails 5.2.7
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

<Cloud9> Bundler version 2.4.12 Rails 6.1.7.3 ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]

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

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

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

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

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

guest

回答2

0

ベストアンサー

2点

  1. 「rails assets:precompileコマンド時にロードエラーになる」の解決には「その原因がrubyが古いためなのではないかと考えた」のが正しいのかどうか確認が必要です。エラーメッセージなど回答者が判断するのに必要な情報を載せて下さい。
  2. $ ruby -v が ruby 2.6.3p62 になる原因

可能性は2つあります。
(1) rbenv配下とは異なるrubyがあり、PATHではそれが優先されている。
which ruby してみると確認できます。
(2) Rails.root に .ruby-version があり、それが 2.6.3 になっている。

なお、
Gemfile にrubyのversionが書かれて居ませんか?それと違うとまた別のエラーになります。

追記
https://blog.uzumaki-inc.jp/ruby27-rails60 に「Rails5系でサポートしているRubyの最大のバージョンは2.6以下」とありますね。
オリジナルソースではないですが。
運が良ければ動きます。が、動いても障害が起きる可能性が高いです。
もしかすると bundle install 時点で失敗するかも。

投稿2023/04/15 14:10

編集2023/04/16 23:13
winterboum

総合スコア23329

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

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

nisetogashi

2023/04/17 10:12

(2) Rails.root に .ruby-version があり、それが 2.6.3 になっている。 教えていただいたこれが原因でした。$ rbenv local で無事解決できました。ありがとうございます!
winterboum

2023/04/17 12:16

追記 も見ておいて下さいね。 「原因がrubyが古いため」ではない と感じてますので。
guest

0

基本的な状況を確認してみましょう。実行結果を見れば解決するかと思います。

Bash

1~/.rbenv/versions/3.2.2/bin/ruby -v 2rbenv versions 3type ruby 4echo $PATH

投稿2023/04/15 11:16

otn

総合スコア84505

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問