エラー内容について
【1】
はインストールされているRailsのバージョンを確認するコマンドです。
エラーメッセージでは、
Railsがインストールされていないので $ sudo gem install rails コマンドを入力してください。そうすればrailsコマンドが使えます。
と言われています。
【2】
$ gem install railties && rbenv rehash
は(Rubyの機能であるgemコマンドを使って)railtiesをインストールして、またrbenv rehashをしています。
rbenv rehashは成功するためのおまじないみたいに思っておいていいです。
エラーメッセージでは
/Library/Ruby/Gems/2.6.0のフォルダにあなたは書き込み権限が無いよ
と言われています。
確認してみましょう!
でフォルダを移動します。
で/Library/Ruby/Gemsフォルダ内の一覧と各フォルダの権限が確認できると思います。
drwxr-xr-x 8 root wheel 256 Dec 14 2019 2.6.0
詳しくは割愛しますが、2.6.0のフォルダの管理者はrootで、管理者以外は書き込み権限が無いことが分かります。
この場合の解決策は、コマンドの前にsudoをつけると、管理者としてコマンドを実行できます。(フォルダの権限を変更する方法もあります)
【3】
$ brew install rbenv ruby-build
は(Homebrewのbrewコマンドを使って)rbenvとruby-buildをインストールするコマンドです。
これに対してはエラー(ERROR)は発生していません。警告(Warning)のみです。
警告の内容は
既にrbenvとruby-buildはインストールされています。再インストールする場合は、$brew reinstall rbenv ruby-buildしてください
と言われています。再インストールの必要はありません。
Railsのインストール手順について
どの段階でつまづいているのか、問題の切り分けをしていきましょう!
こちらのサイトの順番でrailsをインストールされているとすると、
https://railsgirls.jp/install
3-2. Homebrewをインストール
3-3. (Homebrewのbrewコマンドを使って)rbenvをインストール、ターミナル起動時にrbenvを初期化する設定(※1参照)
3-4. (rbenvを使って)Rubyをインストール
3-5. (rbenvを使って)デフォルトのRubyバージョンを設定(※2参照)
3-7. (Rubyの機能であるgemコマンドを使って)Railsのインストール
の順番を踏んでいると思います。
つまり、Railsをインストールするために、
・Railsはプログラミング言語のRubyで動くので、Rubyをインストールしなければならない
・フォルダごとに異なるバージョンのRubyが使えるようバージョン管理をしながらRubyをインストールするために、rbenvをインストールしなければならない
・rbenvをインストールするために、Homebrewをインストールしなければならない
という理由で上記の手順を踏んでいるわけです。
※1 (興味あれば読んでください)
echo 'eval "$(rbenv init -)"' >> /.zshrc
は、/.zshrcのファイルに'eval "$(rbenv init -)"'というコードを書き込んでいます。
rbenvはターミナルを起動するごとに毎回 $ rbenv init をしないと、動作しません。毎回手動で入力するのは面倒なので、
~/.zshrcはターミナル(正確にはshell)の起動時、毎回読み込まれるので、ターミナルを起動する度に、$ rbenv initのコマンドが実行されるようになります。
source /.zshrc
は/.zshrcファイルを再読み込みするコマンドです。これで、ターミナルを再起動しなくても、$ rbenv initが実行されます。
※2 (興味あれば読んでください)
rbenv global 2.7.0
はそのコンピューターの全ての場所でruby 2.7.0の適用を設定します。
rbenv local 2.7.0
なら、現在のフォルダとその下の階層のフォルダではruby 2.7.0の適用を設定します。
つまり、rbenv local で細かくフォルダごとのRubyのバージョンを設定することで、プロジェクトごとに異なるRubyバージョンが必要だったとしても切り替えて使えるようになります。
具体的な解決手順
まずは、インストールがどこまで進んでいるか一つずつ確認していきましょう!
手当たり次第に解決策を試すのではなく、問題の切り分けをしていくことが、解決への近道です!
3-2. Homebrewがインストールされているか?
→ 「Homebrew 2.5.10」などのHomebrewのバージョンが表示されればOKです!
3-3. rbenvがインストールされているか?
→ 「rbenv 1.1.2」などのrbenvのバージョンが表示されればOKです!
3-4. 3-5. Rubyがインストールされているか? Rubyのバージョンは指定した通りか?
→ 「ruby 2.6.1p33」などのRubyのバージョンが表示されればOKです!
3-7. Railsがインストールされているか?
→ 「Rails 6.0.3.4」などのRailsのバージョンが表示されればOKです!
上記のどこかで、つまづいている場合は、
https://railsgirls.jp/install
を参考に、できていないところからインストール手順をやり直してください。
もし、RubyがインストールできていてRailsがインストールできていない場合は、
を入力してください。
再度エラーが発生した場合は、そのエラー内容をコピペで教えてください。
追記
MacにはデフォルトでRubyがインストールされていますが、質問者さんはこちらのRubyを現在使ってしまっているようです。。。すいません、説明が不足しておりました
以下の内容ご確認ください。
MacのデフォルトでインストールされているRubyについて
と入力してみてください
・/Library/Ruby
のような場合は、MacにデフォルトのRubyを使用している状態です。
・/Users/ユーザー名/.rbenv/shims/ruby
・~/.rbenv/shims/ruby
のような場合は、rbenvでインストールしたRubyを使用している状態です。
おそらく、/Library/Rubyと出力されたかと思います。
/ --- Application
|
-- System
|
-- Library --- Ruby ← MacにデフォルトのRuby
|
-- Volumes
|
-- Users --- ユーザー名 --- Desktop ← Mac起動時に見える画面
|
-- Document
|
-- Music
|
-- .rbenv --- shims --- ruby ← rbenvでインストールされたRuby
|
-- versions
※ユーザー名のディレクトリ(ホームディレクトリ)は"~"で表現される。つまり、「/Users/ユーザー名/.rbenv/shims/ruby」と「~/.rbenv/shims/ruby」は同じ意味。
Macには予め、少し古いバージョンのRubyがインストールされています。
「じゃあ、改めてRubyをインストールしなくてもいいじゃん」と思われるかもしれませんが、このRubyはMac(つまり、パソコン本体)のシステムに影響を及ぼす可能性があり、ユーザーが設定をいじるのは良くないです。
(よく考えると、いじられたくないから、管理者以外が設定を変更できないように、gem install railties && rbenv rehashでパーミッションエラーを吐いていたのだと今になって気づきました。。。)
具体的な解決策
まずはhomebrewがインストールされているか確認しましょう
次にrbenvがインストールされているか確認しましょう
おそらく、ここでエラーが出ているのではないでしょうか?
そして、rbenv自体はインストールされているけど、「パスが通っていない」または「$ rbenv initのコマンドが入力されていない」ことが原因と思われます。
まずはパスが通っているか確認しましょう!
/.rbenv/shims:/usr/local/bin:/usr/bin:/bin
のような文字が返ってきます。ここで、「/.rbenv/shims」または「Users/ユーザー名/.rbenv/shims」の文字が含まれていない場合は、パスが通っていない(rbenvコマンドが読み込まれない)ことになります
「パスを通す」とは、パソコン(正確にはシェル)に読み込む先のファイルの場所を教えてあげることです。
$PATHという環境変数(設定値のようなものを保管する変数、この変数に値を入れるとはシェルに記憶されるイメージ)に読み込む場所を記述してあげることが「パスを通す」という意味です。
";"で区切って値を入れます。
「/.rbenv/shims:/usr/local/bin:/usr/bin:/bin」の場合は、
・/.rbenv/shims
・/usr/local/bin
・/usr/bin
・/bin
のフォルダを指していて、ターミナルで私たちがコマンドを打つと、シェルはこれらのフォルダの下の階層にあるファイルを探しに行き、一致するファイルのコードを実行します。
「~/.rbenv/shims」のパスを通すには
$ echo 'export PATH=$PATH:~/.rbenv/shims' >> ~/.zshrc
を実行します。
これは、/.zshrcのファイルに、「export PATH=$PATH:/.rbenv/shims」を書き込むコマンドです。
ちゃんと書かれているか、確認してみましょう!
このコマンドで、/.zshrcのファイルに書かれている文字が出力されます。
ちゃんと、最終行に「export PATH=$PATH:/.rbenv/shims」が書かれていればOKです。
また、ここに「eval "$(rbenv init -)"」が書かれているでしょうか?
書かれていなければ、次のコマンドで書き込みます。
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
では、ちゃんと書かれているか、確認してみましょう!
ちゃんと、最終行に「eval "$(rbenv init -)"」が書かれていればOKです。
設定が書けたら、~/.zshrcを再読み込みしましょう!
では、改めて、rbenvが使えるようになったか確認します。
バージョンが表示されれば、OKです。
https://railsgirls.jp/install
の「3-4. rbenvを使ってRubyをインストール」からインストールを再開してください。
「/.zshrc」と「/.bash_profile」「~/.bashrc」について
補足で、初学者が間違えやすい箇所として、「/.zshrc」と「/.bash_profile」または「~/.bashrc」のファイルがあります。
これらのファイルはどれも、ターミナルを立ち上げたときにシェルが読み込むファイルなのですが、シェルにもいくつかあり、それぞれ読み込むファイルが違います。
Macの場合多くの人はbashまたはzshというシェルを使用しています。
質問者さんは、macOs Catalinaを使っているので、デフォルトではzshが使われています。
現在どのシェルが使われているか確認するには、
とコマンドを打つと、zshなら/bin/zsh、bashなら/bin/bashが返ってきます。
zshの場合は、ターミナル立ち上げ時に「~/.zshrc」を読み込みます。
Bashの場合は、ターミナル立ち上げ時に「/.bash_profile」と「/.bashrc」を読み込みます。
ですので、パスを通す場合などは、~/.zshrcに書き込むようにしましょう!
また、ネットで記事を検索すると「/.bash_profile」や「/.bashrc」と書いてある記事がありますが、「~/.zshrc」と置き換えて実行するようにしましょう!
ターミナルの勉強について
ここら辺のターミナルの知識は、Linux標準教科書を読むと知識が体系化されて理解しやすくなると思います。
https://linuc.org/textbooks/linux/
時間がなければ、読むだけでも構わないので、一通り目を通すことをお勧めします。(第2章は読まなくていいと思います)
どうしても上手くいかない場合
先ほどの具体的な解決方法でもインストールができない場合は、rbenvをインストールし直すところからやってみと良いかと思います。
一度、rbenvをアンインストールします。
その後は、https://railsgirls.jp/installの「3-3. rbenvをインストール」から再開してみてください。
「/.bash_profile」は「/.zshrc」と置き換えて実行してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/27 13:47
2021/01/27 22:08
2021/01/28 07:36
2021/01/28 07:46
2021/01/30 07:28