基本情報の試験がなくなり外に出なくなった今、Railsを触る他はない!!
というわけでせっかくなのでRails6をインストールして起動までしようと思います
前提としてHomebrewはインストール済みです。
##環境
Ruby:2.6.5
Rails: 6.0.2.2
Homebrew: 2.2.13
rbenv: 1.1.2
Bundler: 2.1.4
ブラウザ: Google
OS: Mac Catalina(10.15.4)
##Homebrewにてバージョンのupdate
###Homebrewのupdate
brew update
###rbevのupdate
brew upgrade rbenv
###bundlerのupdate
sudo gem install bundler
###インストールできるRubyのバージョンを確認
rbenv install -l
###Ruby2.6.5のインストール
rbenv install 2.6.5
とここで下記のようなエラー
Downloading openssl-1.1.0j.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246
Installing openssl-1.1.0j...
BUILD FAILED (OS X 10.15.4 using ruby-build 20190130)
Inspect or clean up the working tree at /var/folders/dl/rnnkvz5539g9v70_74jf05480000gn/T/ruby-build.20200421152959.93813
Results logged to /var/folders/dl/rnnkvz5539g9v70_74jf05480000gn/T/ruby-build.20200421152959.93813.log
Last 10 log lines:
BLAKE2_OBJ =
PROCESSOR =
RANLIB =ranlib -c
ARFLAGS =
PERL =/usr/bin/perl
SIXTY_FOUR_BIT_LONG mode
Configured for darwin64-x86_64-cc.
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
xcode-selectをインストールする必要があるらしい、、、
早速インストール
xcode-select --install
再度、Rubyインストール!!
###先ほどインストールしたRubyのバージョンを常に使用するようグローバル設定をする
まずインストールしたか確認
rbenv versions
下記のように出てきたらOK
* system (set by /Users/tanaka/.rbenv/version)
2.6.5
そのままグローバル設定
rbenv global 2.6.5
先ほどのrbenv versions
を打つと’*’がsystemから2.6.5に移ってるのが確認できる
system
* 2.6.5 (set by /Users/tanaka/.rbenv/version)
###rbenvにパスを通す
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
which gem
とwhich ruby
のコマンドを打ってそれぞれが下記のようになっていたらOK
/Users/自分のパソコンの名前/.rbenv/shims/ruby
/Users/自分のパソコンの名前/.rbenv/shims/gem
###yernのインストール
Rails6でwebpackerが標準でインストールされるようになりyarnのインストールが必要になった
らしい、、、
brew install yarn
###Railsの設定(ファイルごとに)
アプリを置きたい場所に空のディレクトリを作成
mkdir test_app
test_appに移動
cd test_app
gemfileの設定ファイルを作成
bundle init
作成したファイルの一番最後の行のコメントアウトを外す
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails" ←この行のコメントを外す
外したら以下のコマンドでgemファイルのインストール
bundle install --path vendor/bundle
bundle exec gem list
のコマンドでインストールされたか確認
省略
・
・
rails (6.0.2.2)
・
・
いよいよrails new!!
(コマンドの最後の.は今のディレクトリで、ってことらしい)
bundle exec rails new .
そしてサーバーを起動
bundle exec rails s
ちょっと変わってて笑うw
###因みにこんなエラーにも遭遇しました。
試しにrubyのグローバル設定を変えた時、先ほど作成したアプリは起動できるのかやってみました。
rbenv global 2.5.1
bundle exec rails s
すると2.6.5
のバージョンじゃない!とエラーが出ました。
Your Ruby version is 2.5.1, but your Gemfile specified 2.6.5
またバージョンを戻してから再度、起動させようとしたら、またしても同じようなエラーが出ました
Your Ruby version is 2.6.3, but your Gemfile specified 2.6.5
こ、これはと思い、グローバル変数を確認rbenv versions
system
2.5.1
* 2.6.5 (set by /Users/tanaka/.rbenv/version)
そんなばかな、、、、ru、、Rubyのバージョンの確認だ、、、、ruby -v
、、、
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
、、、嘘だろ、、、一体何が、、
調べた結果、先ほど打ったコマンドがなぜか無かったことになっていました
which gem
とwhich ruby
のコマンドをそれぞれもう一度打つと
/usr/bin/gem
/usr/bin/ruby
となっており、正解は
/.rbenv/shims/gem
/.rbenv/shims/ruby
こうなってないといけないので再度、rbenvにパスを通す
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
そして改めてrbenv global 2.6.5
を打ってbundle exec rails s
で起動するとうまく立ち上がった。
なぜrbenvのパスの設定が変わったしまったのか不明、、
参考にした記事
Rubyのバージョンが切り替わらない時の対処法!
久しぶりに環境構築したけど、やっぱ時間かかりますね、、
今回は特定の場所にrailsをインストールする方法でしたが、
次回はグローバルにインストールした時のバージョンを書ければと思います。
なんか気になるとこや間違った記述あれば指摘してください!!
それでは!!
##参考文献
MacでRuby on Rails6の開発環境構築に挑戦!【前編:Rubyのインストールまで】
bundler を使った RubyGems の管理について
Mac OS X CatalinaにRuby On Rails6環境を構築
Rubyのバージョンが切り替わらない時の対処法!
bundle install時に--path vendor/bundleを付ける必要性は本当にあるのか、もう一度よく考えてみよう
ローカルのRubyをなるべく汚さずにRuby on Railsの開発環境を作る
はてなブログもやっているので是非!
https://tanagram18.hatenablog.com/