何もない状態からrailsを使ってプロジェクトを立ち上げようとすると無限エラーが出ました
asdfを使っていたので、rubyもasdfで管理してその上でrailsのアプリケーションを作ってみようと思います。
Railsアプリケーション作成失敗…
rails new my_api --api
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
と打ち込んでも上記のエラーがまた表示されるのはよく聞きます。
バージョンを確認します
ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
2.6.10となっています
asdfでrubyの最新版をインストール
asdf install ruby latest
asdfでインストールされたrubyのバージョンを確認します
asdf list ruby
3.2.2
asdfで最新のバージョンをインストールできました
再度rubyのバージョンを確認します
ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
変わりません
rubyのパスを確認します
which ruby
/usr/bin/ruby
自分のPCではnodeはasdfで管理されていたのでnodeのパスを確認します
which node
$HOME/.asdf/shims/node
パスが違うことがわかりました
.zshrcに参照するパスを記載します
export PATH="$HOME/.asdf/shims:$PATH"
source .zshrc
which ruby
$HOME/.asdf/shims/ruby
パスを変更できました
rubyのバージョンを再度確認します
ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]
3.22とあり先ほどasdfで確認したバージョンが反映されています
これで再度railsをインストールしてみます
sudo gem install rails
Successfully installed rails-7.0.5.1
Parsing documentation for rails-7.0.5.1
Done installing documentation for rails after 0 seconds
1 gem installed
インストールに成功したようです。バージョンを確認してみます
rails --version
Rails 7.0.5.1
バージョンもしっかり表示されたので、インストールされているようです。
これでrailsのプロジェクトを作成してみます
rails new my_api --api
...
...
Bundle complete! 6 Gemfile dependencies, 53 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
run bundle binstubs bundler
できたっぽいのでディレクトリを進めてサーバーを立ち上げます
cd my_api && rails s
=> Booting Puma
=> Rails 7.0.5.1 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.6 (ruby 3.2.2-p53) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 80282
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
railsの立ち上げに成功しました。