Vue.jsを触ってみたくて、アプリケーショ開発するダイアリー。〜Ruby on Rails導入編〜

# 準備したもの
| MacBook Pro 2019 |
|:-|
| 2.6 GHz 6コアIntel Core i7  |
|  16 GB 2667 MHz DDR4 |

2023 2/26
=
- visual studio code のインストール
- GitHubアカウント、`reference_box`リポジトリの作成、GitHub Desktopのインストール
- ターミナルコマンドの学習
    - Xcodeライセンスの認証
    - `exit`コマンドがWindowsとMacで違う挙動をとる。Macでは左上のメニューから終了する


2/27
=
疑問発生。。。プライベートPCユーザー名で開発をするべきか？
> PCユーザネームがソースコード内のPathに含まれてしまう懸念浮上

一旦そのままで進める覚悟を決める。


[Ruby、Vue.jsでアプリケーション開発](https://www.techpit.jp/courses/195/curriculums/198/sections/1313/parts/5299)を参考にRuby　on Railsをインストールしていく
教材で指定のあった**2.7.1**がなかったので**3.2.1**を選択したがエラーで終了
[同じような事象のQA](https://github.com/rbenv/ruby-build/discussions/2127)を見つけたが一旦放置で、

```console
$ rbenv install 2.7.7
```
を実行..
```console
$ rbenv versions     
* system
  2.7.7
```

不安は残るもののインストールには成功した模様。

開発したいディレクトリで以下を実行
```console
## このディレクトリ配下ではversion2.7.7を使用する指定
$ rbenv local 2.7.7
## Rubyのversionを確認
$ Ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
```

....なんで!？

これでもいいかな。
と思ったけど少し調べてみた
すると、[Ruby 2.6系は22年4月で公式サポート終了](https://www.famlog.jp/article/4415)らしいのでインストールし直すことを決意

[公開されたてほやほやの3.2系](https://www.famlog.jp/article/4619)使ってもいいけど枯れてないだろうから
Ruby 3.1系列を使用していきたい。

ということで確認とインストール
```console
$ rbenv install --list
2.7.7
3.0.5
3.1.3
3.2.1
jruby-9.4.1.0
mruby-3.1.0
picoruby-3.0.0
truffleruby-22.3.1
truffleruby+graalvm-22.3.1

$ rbenv install 3.1.3
$ rbenv versions      
  system
* 2.7.7 (set by /Users/{{UserName}}/Development/raiders/.ruby-version)
  3.1.3

## よしよし入ってるこれで上書きすればいけるでしょ。
$ rbenv local 3.1.3
$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
```

なんでやねん。。
ディレクトリ削除してやってみる。

```console
$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
```
かわらずかかかっっkハマった。。
今日はおしまい。。


2/28
=
きのうの続きから。

対策として思いついたのが、コンピュータ内のRubyをアンインストールして再度インストールする方法。
やってみる…
アンインストール方法を調べてるうちになんで上手くいかないか原因が判明した。

**rbenvのPathを通していなかった。**
[rbenvのPATHを通す方法](https://note.com/maimaineet/n/n1f526da613a2)と同様の作業を行ったら無事解決

```console
$ ruby -v
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-darwin22]
```

期待通りの結果となった。
~~一旦ゲムしてきます

3/2
=
Atomic Heartがおもしろです🥳

と言うわけで昨日の続きから。
Rubyは無事にインストールできたのでRailsをインストールしていく。

suduコマンドがめんどくさいと感じてしまったのですが、[sudoをパスワードなしで...](https://qiita.com/RyodoTanaka/items/e9b15d579d17651650b7)を見ると「やっぱやめとこ。」
ってなりました。


Railsインストール時のエラーと対策
- rbenvをインストールしたディレクトリ**外**で以下を実行
```console
$ gem install rails -v '6.0.0'
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
```

- rbenvをインストールしたディレクトリに移動して実行
```console
$ gem install rails -v '6.0.0'

## RubyとRailsのバージョンが対応していない場合に出るエラーのよう。
## Ruby => 3.1.3
ERROR:  Error installing rails:
	ERROR: Failed to build gem native extension.

Ensure you have either installed the shared-mime-info package for your distribution, or
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
of that file.

This gem might be installed as a dependency of some bigger package, such as rails, activestorage,
axlsx or cucumber. While most of these packages use the functionality of this gem, some gems have
included this gem by accident. Set USE_FREEDESKTOP_PLACEHOLDER=true if you are certain that you
do not need this gem, and wish to skip the inclusion of freedesktop.org.xml.

The FREEDESKTOP_PLACEHOLDER option is meant as a transitional feature, and will be deprecated in
the next release.
```
この時に確認したこと
```console
$ xcode-select --version
xcode-select version 2396.
$ which gcc
/usr/bin/gcc
$ gcc --version
Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: x86_64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
```
一応確認したがXcode、gccは問題なく使える


- railsのバージョンを変えてインストール
> ruby 3.1.Xに合うのを調べたらどうやらリリースされて間もないRails 7.0系らしい、枯れてないだろうから不安はあるが正直な話それ以外の情報を仕入れる時間がもったいないと思ったので。。。
```console
$ gem install rails -v '7.0.0'
## 無事終了したのでバージョン確認
$ 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 gem install rails -v '7.0.0'

## 無事終了したのでバージョン確認
$ 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.
```
様子がおかしい、、、。
調べてみたところ、[この記事](https://qiita.com/w7tree/items/0860e2856f2429b20eee)に行き着いた。
詳細把握はできていないが、1度目の
```console
$ gem install rails -v '7.0.0'
```
により、インストールは完了していた模様。

バージョン確認のためのRailsコマンドがrbenv管理外のものを起動していたため、今回インストールできたRailsにアクセスできなかった模様。
試しに以下を実行。
```console
$ sudo rails -v         
Password:
Rails 7.0.4.2
```
railsコマンド使用のたびにsudoつけるのは面倒すぎる。

なので、上記の記事を参考に以下を実行。
```console
##起動されるrailsコマンドの参照先確認
$ which rails
/usr/bin/rails

## railsコマンドの参照先変更
$ export PATH="$HOME/.rbenv/shims:$PATH"

## 変更完了の確認
$ which rails                           
/Users/{{UserName}}/.rbenv/shims/rails
```

ここまでやると
```.sh
$ rails -v
Rails 7.0.4.2
```
sudoなしで期待する結果を得られるようになった。


Railsの導入
**done!!!**

:::note
次回予告
〜Vue.js導入編〜
:::