Precena Tech Book
コーポレートサイト採用サイト
  • はじめに
  • ソフトウェア開発
    • 開発環境構築
      • Homebrew
        • Homebrew用語の意味
      • ngrok
        • ngrokの導入
        • ngrokのアップグレード(v2 to v3)
      • Slack
        • Slackの/remind コマンドの形式
        • 対面での相談を気軽にするためのSlack設定
      • AWS CLI
      • Ruby
      • Scala
      • Prettier
      • zsh
        • zsh-completion
      • Mac
        • M1 Macでの開発環境構築(rosetta 無し)
    • バックエンド
      • OpenAPI
        • OpenAPI 定義ファイル分割のすゝめ
      • Ruby on Rails
        • ActiveRecordのfind_or_initialize_byメソッドにブロックを渡したときの挙動
        • Railsのアプリケーションサーバーのプロセス数とスレッド数の設定方法
        • Railsを6.1系から7.0系へアップグレードした時に調査したこと
        • schema.rbで差分が発生する事例とその復旧について
        • tmux + overmind を利用して、複数システムを1コマンドで起動できるよう設定する
        • Rails Migrationチートシート
        • GithubのプライベートリポジトリをGemfileで参照する方法
        • ActiveSupportのto_jsonメソッドの注意点
        • 危険なJSON出力を禁止するRuboCopカスタムルールの作成方法
      • Scala
        • Validated を直列に処理したい
      • DB
        • PostgreSQLにおける、削除行に対するロック獲得時の挙動
    • フロントエンド
      • React
        • Storybookを利用したビジュアルリグレッションテスト
  • インフラ開発
    • AWS
      • IAM
        • スイッチロールの設定手順
        • AWS CLIでのスイッチロールの設定手順
        • AWS Vaultを使ったスイッチロール設定手順
        • Github ActionsでIAMロールを利用してAWSリソースを操作する
      • ECS
      • SES
        • AWS SESメールボックスシミュレーターにて、カスタムヘッダや添付ファイル付きのテストEメールを送信する
      • CloudWatch
        • Amazon SNS + Slack Workflowを使って、CloudWatch Alarmの通知をSlackチャンネルへ投稿する
      • Lambda
        • lambrollでAWS Lambda関数をデプロイしたときのTips
    • Heroku
      • HerokuのStackの設定
      • Heroku Postgresの運用でよく使うコマンド集
  • セキュリティ
    • Web
      • Same Origin PolicyとCORS
      • 脆弱性診断 2社同時依頼実施記録
  • Mail
    • SPF、DKIM、DMARCを使用した迷惑メール対策
  • データ分析
    • データ分析プロセス
  • SaaS
    • Zendesk
      • 問い合わせフォームの項目をサービスごとに出し分け、各サービス担当者に自動で振り分けてメールで通知する
  • イベント
    • RubyKaigi
      • RubyKaigi 2023 に現地参加しました
    • EMConf
      • EMConfJP2025_参加レポート
  • やってみた
    • IoT
      • Raspberry Pi + PaSoRi + Python で、勤怠打刻マシンを作ってみた
  • Precena Tech Book 管理
    • コンテンツ執筆時のルール
  • 関連リンク
    • プレセナエンジニア公式Twitter
GitBook提供
このページ内
  • rbenvのインストール
  • anyenvでインストールする場合
  • 直接rbenvをインストールする場合
  • 使いたいバージョンのRubyをインストール
  • プロジェクトで使うRubyのバージョンを固定
  • Rubyのバージョンを上げる
  • anyenvでrbenvをインストールした場合
  • 直接rbenvをインストールした場合

役に立ちましたか?

PDFとしてエクスポート
  1. ソフトウェア開発
  2. 開発環境構築

Ruby

前へAWS CLI次へScala

最終更新 1 年前

役に立ちましたか?

当社の開発で使うRubyのバージョンは、プロジェクトごとに異なることが多く、また、プロジェクトごとにRubyのアップデート状況も異なります。

したがって、プロジェクトごとにRubyのバージョンを切り替える仕組みとしてrbenvを導入して使います。

rbenvのインストール

直接rbenvをインストールするか、anyenv経由でインストールするかで手順が変わります。

anyenvでインストールする場合

anyenvがすでに導入されている場合、以下で簡単にrbenvをインストールできます。

% anyenv install rbenv

直接rbenvをインストールする場合

の手順に従います。

まずは、homebrewでrbenvをインストール。このとき、ruby-buildも同時にインストールされます。

% brew install rbenv

次に、

% rbenv init

を実行して、出力された手順にしたがって、シェルの設定を行います。zshを使っている場合、以下のように出力されるので、この内容に従います。

% rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init -)"

つまり、.zshrcファイルに以下を追加します。

.zshrc
# rbenvの初期化
eval "$(rbenv init -)"

使いたいバージョンのRubyをインストール

rbenvがインストールされたら、次は、使いたいバージョンのRubyをインストールします。

まずは、インストール可能なRubyの安定バージョンを確認します。

% rbenv install -l
2.6.7
2.7.3
3.0.1
jruby-9.2.17.0
mruby-3.0.0
rbx-5.0
truffleruby-21.1.0
truffleruby+graalvm-21.1.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

ここに表示されたバージョンを指定して、開発環境にインストールします。

% rbenv install 2.7.3

プロジェクトで使うRubyのバージョンを固定

プロジェクトで使うRubyのバージョンは、他の開発メンバーとも共有したいため、.ruby-versionファイルを作って、他のメンバーにも同じRubyのバージョンの使用を強制できるようにします。

プロジェクトルートで、以下を実行すれば.ruby-versionファイルがプロジェクトルート直下に作られます。

% rbenv local 2.7.3

Rubyのバージョンを上げる

Rubyのバージョンを上げる手順もanyenvでrbenvをインストールしたかどうかで異なります。

anyenvでrbenvをインストールした場合

rbenv install -lコマンドで、インストールしたいRubyのバージョンが表示されていない場合、anyenv内部のruby-buildのアップデートが必要です。このアップデートのコマンドを楽にしてくれるanyenv-updateを使うのをおすすめします。

anyenv-updateが設定してあれば、以下を実行するだけで、インストール可能なRubyのバージョン情報が最新化されます。

% anyenv update

このあとは、普通に特定のバージョンのRubyをインストールします。

直接rbenvをインストールした場合

同様に、インストールしたいRubyのバージョンが表示されていない場合、先に、rbenvとruby-buildをアップデートする必要があります。rbenvとruby-buildのアップデートにはhomebrewを使います。

% brew upgrade rbenv ruby-build

これで、インストール可能なRubyのバージョンが最新化されるので、特定のバージョンをインストールします。

本サイトの更新情報は、Twitterので発信しています。ご確認ください。

株式会社プレセナ・ストラテジック・パートナーズエンジニア公式アカウント
公式サイト
LogoGitHub - rbenv/rbenv: Manage your app's Ruby environmentGitHub
LogoGitHub - znz/anyenv-update: anyenv plugin that provides `anyenv update` command to update all **env and all pluginsGitHub