railsをインストールしようとした際に、要所要所でどん詰まりしました。
自分の覚書のためにも初投稿してみます。
主に以下の手順で詰まりました。
・command line toolsのインストール
・home brewのインストールのやり方
・railsインストールできたはずがコマンド実行すると「sudo gem install」しろの無限ループ
手順を整理しておこうと思います。
1.「Command Line Tools」のインストール
xcode-select --install
これでできるそうなのですが、
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
と表示され、インストールできていない様子。
解決法:古いものを削除して再度実行しました
sudo rm -rf /Library/Developer/CommandLineTools
からの、リトライ
xcode-select --install
このコマンドが成功すると、Macの画面自体にソフトウェアのダウンロード画面が表示される。
なのでそのまま画面の指示に従う。
(ダウンロードはめっちゃ時間かかる。私は25分くらいかかった。)
完了と表示されれば成功。
※command Line Toolsとは
簡単な解釈としては、黒い画面でコマンドを操作するために必要なツール。
これがないと命令しても意味が通じない。
(すごく簡単な解釈なので、細かいことは誤っているかと思います。)
2.「homebrew」のインストール
homebrewをインストールするときは、一度サイトにアクセスして正しいコマンドを手に入れる。
https://brew.sh/index_ja
ここを訪問すると「インストール」とでっかく書かれた下に、スクリプトが表示されているのでコピー。
ターミナルで実行する。
実行した後は、成功しているか確認する。
brew -v
成功していれば
「Homebrew ○.○.○」とバージョンが表示される。
念の為アップデートもしておく
brew update
※homebrewとは
Macでパッケージを管理(インストール)するために必要なもの
!ざっくりとした解釈です!
3.rbenvのインストール
無事にhomebrewを手に入れたらrbenvのインストールに進む。
brew install rbenv ruby-build
rbenvをインストールしたら、PATHを通しておく。
まずは、場所確認。
echo $SHELL
結果のパターンは2通りあるらしい。
それぞれ、以下のコマンドを1つずつ順に実施する。
・「.bash_profile」の場合
$ echo 'export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
・「.zshrc」の場合
$ echo 'export PATH="~/.rbenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
私は後者でした。
※PATHを通すとは
本来、パスはフルパス打たないと実行できないもの。
パスを通しておくことで、最後の名前だけ入力すれば実行できるようになる。
と、毎度おなじみのざっくり解釈。
(こちらの方の記事を参考にさせていただきました:https://qiita.com/sta/items/63e1048025d1830d12fd)
4.Rubyのインストール
まずはインストールできるバージョンの一覧を確認
rbenv install --list
出てきたものの一番新しいバージョンが望ましいですが、どのバージョンでも大丈夫です。
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.6.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0
こんな感じで出てきたので、数字部分の最新である「3.1.2」をインストール。
以下のコマンドを順番に叩きます。
(バージョンのところは、リストに出てきたものを入力)
rbenv install 3.1.2
rbenv global 3.1.2
rbenv rehash
ruby -v
最後のコマンドは、しっかりインストールできたか確認するもの。
5.bundlerのインストール
以下のコマンドを、1つずつ順番に実行します。
gem install bundler
bundle -v
「bundle -v」でコマンドで確認すると、バージョンがこんな感じで表示されます。
Bundler version 2.3.18
6.データベース(私はPostgresql)のインストール
以下のコマンドを1つずつ順番に実行します。
brew install postgresql
psql -V
brew services start postgresql
(使いたいものに合わせてインストールしてください。私はスクールで指定があったのでこれ使います。)
7.railsのインストール
gem install -v 6.1.4 rails
(これもスクールで指定があったのでこのバージョンです。バージョンごとの違いなどはよくわからないままです。すみません。)
インストール済みのものが複数ないかチェックします。
gem list rails
ここで複数のバージョンが表示された場合は、
rails _6.1.4_ new myapp
とバージョン指定してアプリ作成する必要がある。
8.どハマりした呼び出し元の統一
正しくインストールしたはずなのに、るんるん気分で
rails new myapp
を実行すると
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.
やれと言われたので
sudo gem install rails
を何度やっても同じ結果です。
どうやら、ざっくりと「呼び出し元が異なる様子」。
こちら、めっちゃ参考にさせていただきました。
本当に助かりました。ありがとうございます。
↓↓↓
https://qiita.com/w7tree/items/0860e2856f2429b20eee
こちらのページには、理由など分かりやすく載っていますがとにかくやってみるのが早い。
which ruby
/Users/ユーザー名/.rbenv/shims/ruby
which rails
/usr/bin/rails
あれ、「ruby」と「rails」が別の場所にある?
・ruby →rbenvのものが作動
・gem →MacOS(システム)のものが作動
・rails →上記のMacOS(システム)のgemを使ってインストールされたので、デフォルトruby内のgemに配置=/usr/bin/の中のrailsが使われている
なので、パスを通します。
(特定のプログラムを「プログラム名だけで実行できるようにする」こと)
export PATH="$HOME/.rbenv/shims:$PATH"
これでもう一度、「rails new myapp」すると成功しました。
忘備録として書いているので理解<手順で書きました。