[環境構築]mac intelでrubyのインストールからrails newまで
はじめに
macを初期化しましたのでrubyとrailsを再インストールします。
ターミナルで今の状態を確認する
ct@ct ~ % which ruby
/usr/bin/ruby
ct@ct ~ % which gem
/usr/bin/gem
ct@ct ~ % which rails
/usr/bin/rails
ct@ct ~ % ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
ct@ct ~ % rails -v
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
ct@ct ~ % gem install htmlbeautifier
Fetching htmlbeautifier-1.4.2.gem
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
ct@ct ~ % rbenv versions
* system
# ローカルにインストールされている
ct@ct ~ % which node
/usr/local/bin/node
ct@ct ~ % which yarn
/usr/local/bin/yarn
ct@ct ~ % which brew
/usr/local/bin/brew
yarn
とnode
のパスの/usr/local/bin
は、一般的にシステムでローカルにインストールされた実行可能ファイルが配置されるディレクトリの一つです。
ruby関連のパスは/usr/bin
というシステムディレクトリのパスになっています。一般的には、このディレクトリにはシステム全体で使用される実行可能ファイル(コマンド)が格納されます。
システムのrubyを利用しているため、権限不足でgemのインストールができないとなっています。
rbenv versions
コマンドは、rbenvというRubyのバージョン管理ツールを使用して、システムにインストールされているRubyのバージョンを表示します。
上記の出力 system は、現在のシステムにおいてrbenvによるRubyのバージョン管理が行われていないことを示しています。"system"という表示は、システムにプリインストールされたRubyバージョン(またはデフォルトのRubyバージョン)を意味します。
rbenvでrubyのバージョンを管理する
rbenvをインストールされてない場合はインストールします。
brew install rbenv ruby-build
インストールできるrubyのバージョンは以下のコマンドで確認ができます。
ct@ct ~ % rbenv install -l
3.0.6
3.1.4
3.2.2
jruby-9.4.2.0
mruby-3.2.0
picoruby-3.0.0
truffleruby-22.3.1
truffleruby+graalvm-22.3.1
Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.
3.1.4をインストールします。
ct@ct ~ % rbenv install 3.1.4
To follow progress, use 'tail -f /var/folders/3z/jj5lmscj30qb1nsd4lpfw2nc0000gn/T/ruby-build.20230614114803.45768.log' or pass --verbose
Downloading openssl-3.1.0.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4
Installing openssl-3.1.0...
Installed openssl-3.1.0 to /Users/***/.rbenv/versions/3.1.4
Downloading ruby-3.1.4.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.gz
Installing ruby-3.1.4...
ruby-build: using readline from homebrew
ruby-build: using libyaml from homebrew
Installed ruby-3.1.4 to /Users/***/.rbenv/versions/3.1.4
NOTE: to activate this Ruby version as the new default, run: rbenv global 3.1.4
ct@ct ~ % rbenv global 3.1.4
rbenvのパスを通す
現在のmacのシェルを確認します。
ct@ct ~ % echo $SHELL
/bin/zsh
ct@ct ~ % echo $0
-zsh
ct@ct ~ % echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
ct@ct ~ % echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc
ct@ct ~ % rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init - zsh)"
ct@ct ~ % cat ~/.zshrc
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"
ct@ct ~ % rbenv rehash
ct@ct ~ % rbenv versions
system
* 3.1.4 (set by /Users/***/.ruby-version)
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
は、~/.zshrc
ファイルに特定の行を追加するためのシェルコマンドです。
~/.zshrc
は、Zshシェルの設定ファイルであり、Zshが起動する際に読み込まれるスクリプトです。このファイルに環境変数やエイリアス、関数などの設定を記述することができます。
上記のコマンドは、
~/.zshrc
ファイルの末尾に、export PATH="$HOME/.rbenv/bin:$PATH"
という行を追加します。これにより、Zshシェルが起動するときに$HOME/.rbenv/bin
を$PATH
の先頭に追加し、rbenvコマンドを利用できるようにします。
具体的には、
$HOME/.rbenv/bin
ディレクトリにはrbenvの実行ファイルが存在し、それをパスに追加することでrbenvをシェルから直接実行できるようになります。
このコマンドを実行することで、次回以降、Zshシェルが起動する際に
rbenv
コマンドを使用できるようになります。ただし、変更を反映するためには、ターミナルを再起動するか、source ~/.zshrc
コマンドを実行して変更を再読み込みする必要があります。
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc
このコマンドは、Zshシェルの設定ファイルである
~/.zshrc
に、eval "$(rbenv init - zsh)"
という行を追加します。
rbenv init - zsh
は、rbenvがZshシェルで正しく初期化されるように設定するためのコマンドです。eval
は、指定されたコマンドを実行するためのシェルの組み込みコマンドです。
eval "$(rbenv init - zsh)"
を~/.zshrc
に追加することで、Zshシェルが起動するときにrbenvが正しく初期化され、rbenvコマンドやrbenvで管理されたRubyのバージョンを利用できるようになります。
具体的には、
rbenv init - zsh
は、現在のシェルにおけるrbenvの初期化スクリプトを出力します。eval
によって、その出力されたスクリプトが実行されます。
このコマンドを実行することで、次回以降、Zshシェルが起動する際にrbenvが正しく初期化され、rbenvコマンドやrbenvで管理されたRubyのバージョンを利用できるようになります。
変更を反映するためには、ターミナルを再起動するか、
source ~/.zshrc
コマンドを実行して変更を再読み込みする必要があります。
ターミナルを再起動する
rubyのバージョンとパスを確認する。
ct@ct ~ % ruby -v
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-darwin22]
ct@ct ~ % which ruby
/Users/***/.rbenv/shims/ruby
railsをインストールする
# ディレクトリ作成
$ mkdir rails_test
# rails_testディレクトリに移動
$ cd rails_test
# ruby 3.0.0 のインストール
$ rbenv install 3.0.0
# ローカルで使うrubyのバージョンを固定
$ rbenv local 3.0.0
# rubyのバージョンが3.0.0と表示されればOKです(環境によって表示が異なります)
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
# rails 6.1.3 のインストール
$ gem install rails -v 6.1.3
$ rbenv rehash
# railsのバージョン
$ rails -v
Rails 6.1.3
railsアプリを作ってみる
# カレントディレクトリにプロジェクトを作成
$ rails new .
# データベースの作成
$ bin/rails db:create
Created database 'db/development.sqlite3'
Created database 'db/test.sqlite3'
# railsサーバーの起動
# http://localhost:3000/ でrailsの起動を確認できればOK
$ bin/rails s
=> Booting Puma
=> Rails 6.1.7.3 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.5 (ruby 3.0.0-p0) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 20421
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
local:3000
でrailsの初期画面を表示されています。
これでrubyとrailsのインストールが完了しました。
終わりに
rubyとrailsのインストール方法が色々とありますが、rbenv
を使う場合の手順をまとめてみました。
Discussion