Rails 6.0.3 のインストール時に出た、minemagicとRails is not currently installed on this system.の解決法

railsチュートリアルの第6版をゲットして、Railsをインストールしようとしたら、2回ほど詰まったので、どう解決したかを書いていきます。

https://railstutorial.jp/chapters/beginning?version=6.0#sec-installing_rails

## 1. 開発環境

OS：Mac BigSur ver11.4
rbenv：1.1.2
ruby：3.0.1
shell：zsh

## 2. minemagic
###  エラーの内容
railsチュートリアルに記載のある、rails 6.0.3を入れるために
`gem install rails -v 6.0.3`
をしたところ、以下のエラーが出ました:sob: 



```
ERROR:  Error installing rails:
	ERROR: Failed to build gem native extension.

current directory: /Users/shiorin/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mimemagic-0.3.10/ext/mimemagic
/Users/shiorin/.rbenv/versions/3.0.1/bin/ruby -I/Users/shiorin/.rbenv/versions/3.0.1/lib/ruby/3.0.0 -rrubygems /Users/shiorin/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/exe/rake RUBYARCHDIR\=/Users/shiorin/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/extensions/x86_64-darwin-20/3.0.0/mimemagic-0.3.10 RUBYLIBDIR\=/Users/shiorin/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/extensions/x86_64-darwin-20/3.0.0/mimemagic-0.3.10
rake aborted!
Could not find MIME type database in the following locations: ["/usr/local/share/mime/packages/freedesktop.org.xml", "/opt/homebrew/share/mime/packages/freedesktop.org.xml", "/opt/local/share/mime/packages/freedesktop.org.xml", "/usr/share/mime/packages/freedesktop.org.xml"]
```

minemagic-0.3.10で何か問題が起きているっぽい...:thinking: 

詳しく調べてみたところ、ライセンス関連の問題が起こっていることによる失敗のようでした。

> Railsの一部であるactivestorageが依存しているmimemagic gemが、ライセンス関連の問題でrubygems.orgから取り下げられました。これにより、mimemagic <= 0.3.5に依存しているRailsアプリがbundle installに失敗するようになりました。
( mimemagicの最新動向 - HackMD より引用)


###  解決した方法

HackMDやエラーメッセージをみたところ、`shared-mime-info`を入れたら解消されるとのことだったので、インストール

```
$ brew install shared-mime-info
```
ただその時に、`xcode-select --install`をしなくてはいけないというエラーが出たので、実行したところサーバから入手できないとの表示が...


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256199/0534d8ed-7f46-410a-ebc2-4914272601d4.png" width="550">


この現象はmacのバージョンが古いのが原因だったので、Big Surにアップデートしたところ、無事に`shared-mime-info` を入れることができました :tada: 

## 3. Rails is not currently installed on this system.
### エラーの内容
`shared-mime-info`が無事にインストールできたので、改めてrails 6.0.3を入れてみたところ

```sh
$ gem install rails -v 6.0.3

...
Successfully installed nio4r-2.5.7
Successfully installed actioncable-6.0.3
Successfully installed rails-6.0.3
17 gems installed
```
うまくいっていそうにも関わらず、sudoをつけて再インストールしてみても、railsコマンドがないというエラーが出続けました... :sob: 

```sh
$ 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.
```

### 解決した方法
sudoをつけてインストールしても、変わらずにrailsコマンドがないというエラーが出続ける...
ということで、railsを参照している元がのPATHを確認してみました。

```sh
$ which -a rails
/Users/shiorin/.rbenv/shims/rails
/usr/bin/rails

$ which rails
/usr/bin/rails
```

私は、rbenvからrubyを入れていたので、やっぱりrailsの参照元が違うことが原因そう:thinking: 

なので、railsがrbenvの方から参照するように、zsh_profileに以下を追加しました。


```zsh:~/.zsh_profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
```

するとrailsの参照元が、rbenvになったので
晴れて、railsがインストールされたことを確認できました :tada: 

```sh
$ rails -v
Rails 6.0.3
```

これで、無事にRailsチュートリアル_第6版のスタートがきれそうです:muscle: 

## 参考記事
https://hackmd.io/@mametter/mimemagic-info-ja