nikkie-ftnextの日記

イベントレポートや読書メモを発信

macOS に mise で Ruby の環境構築、えいえいおー

はじめに

七尾百合子さん、お誕生日 332日目 おめでとうございます! nikkieです。

突然ですが、Ruby の環境構築してみます1💎
よりよいやり方に気づいた方は、ぜひ教えてください〜(特に Bundler)

目次

mise で Ruby を入れる

Ruby の環境を作りたい!」と思ったときに浮かんだのは mise。
以下の勉強会で魅力的に映りました

mise 自体をインストール
https://mise.jdx.dev/installing-mise.html#https-mise-run

% curl https://mise.run | sh

% mise --version
2026.2.9 macos-arm64 (2026-02-10)

mise で Ruby をインストール。
4.0.1を入れていきます(対応してないライブラリが多かったら3系に戻そう)

% mise settings ruby.compile=false
% mise use ruby@latest

echo 'eval "$(mise activate zsh)"' >> ~/.zshrcが必要だったのですが、(GPT 5.2 や Opus 4.6 に質問しつつ)mise doctorからmise help activateで解決

作業ディレクトリにて

% ruby --version
ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [arm64-darwin23]

Faraday で Gemini API を叩いてみる

Bundler なるものを使っていきます。
https://bundler.io/

bundle initGemfile作成
https://bundler.io/guides/gemfile.html

# frozen_string_literal: true

source "https://rubygems.org"

gem "faraday"
gem "json"

curl例を Faraday に置き換えます。
https://ai.google.dev/gemini-api/docs?hl=ja#rest

環境変数GEMINI_API_KEYを指定して2

% ruby gemini.rb
Choosing a name for a dried flower shop should reflect the unique qualities of your product: longevity, texture, vintage charm, and sustainability.

Here are several name ideas categorized by the "vibe" they project:
(略)

Ruby のライブラリを入れて Gemini を叩けました3

今回はよく分からなかったことが1つ。

% bundle info faraday

        Path: /.../.local/share/mise/installs/ruby/4.0.1/lib/ruby/gems/4.0.0/gems/faraday-2.14.1

.bundle/vendor/bundle/ではなく、グローバルにインストールされてるように思われます。
Python でいう仮想環境で運用できてないような

終わりに

mise を使って Ruby の環境を macOS で用意しました。

  • mise で precompiled ruby を簡単にインストール
    • doctor が秀逸でハマりにくい印象
  • Bundler で依存をインストール。Gemini API を呼び出してみた
    • グローバルにインストールされた点は宿題事項
% sw_vers 
ProductName:            macOS
ProductVersion:         14.5
BuildVersion:           23F79

過去に PHP の環境構築をしたのですが、ツールの進化を感じました。


  1. えいえいおー
  2. Gemfile.lock https://gist.github.com/ftnext/e3c43c42c8b65d88faf1cfdb407d1364
  3. こちらの例です