質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

rails インストールができません/ mac 10.12.6

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 249

hiyobashi

score 1

 前提・実現したいこと

railsをインストールしたいです。

mac 10.12.6環境で、ターミナルにてrails インストールを行いました。
ところがrails -v でバージョンを見ると 
sudo gem install railsと表示されます。

http://tomoprog.hatenablog.com/entry/2017/02/03/015936
sudo gem install railsを繰り返すと再度同じエラーになりました。

こちらに当てはまると考え、
ユーザーフォルダ名の中にあった「.bash_profile」を見ると

alias brew="env PATH=${PATH/\/Users\/ユーザー名\/\.pyenv\/shims:/} brew"
alias brew="env PATH=${PATH/\/Users\/ユーザー名\/\.pyenv\/shims:/} brew"

と何だか2行同じ内容があったため、下記のように編集しました。

alias brew="env PATH=${PATH/\/Users\/ユーザー名\/\.pyenv\/shims:/} brew"
export PATH="$HOME/.rbenv/bin:$PATH"

この状態で再度 sudo gem install rails を実行すると、
今後は下記のエラーとなりました。

ERROR:  Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: tlsv1 alert protocol version (https://rubygems.org/latest_specs.4.8.gz)

原因の特定に至らず。。
もし、何か分かることがあれば教えてください。


> takahashim さん
コメントありがとうございます。

>ruby -v と実行すると、何が表示されますか?(Rubyのバージョンが知りたいです)
こちらの結果です。
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

>また、which ruby と実行すると、何が表示されますか?
こちらの結果です。
/usr/bin/ruby

ーーーーーーーーーーーーーーーー

ちなみに、関係があるかわかりませんが、
rubyのインストールもうまくいかないようで、

rbenv global 2.4.1
と打った後、
rbenv versions
と打つと
system

  • 2.4.1 (set by /Users/ユーザー名/.ruby-version)
    となります。

ただ、その後
ruby -v
としてもまだ
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

のままです。。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • takahashim

    2018/07/26 22:18

    ruby -v と実行すると、何が表示されますか?(Rubyのバージョンが知りたいです)

    キャンセル

  • takahashim

    2018/07/26 22:18

    また、which ruby と実行すると、何が表示されますか?

    キャンセル

回答 1

checkベストアンサー

0

ruby -vで2.0.0と出るということは、macOSのシステム標準のRubyが使われていることになります。
Rails 5.xの対応するRubyは「Ruby 2.2.2 or newer」ということなので、このRubyだとちょっと古すぎます。そのためrbenv等でインストールしたRubyを使う必要があります。
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#ruby-versions

rbenvを使っている場合、Raisで使われるRubyのバージョンですが、そのディレクトリに.ruby-versionというファイルがあると、そのファイルに書かれたバージョンのRubyが使われます。
これを変更するには、rbenv local 2.4.1と実行します。そうすると、.ruby-versionの中身が2.4.1になるかと思います。
この上で、gem install railsを実行するとよいかと思います。

ちなみに、rbenvを使っている場合はsudoをつけなくてもgemコマンドを実行できるはずです(一度sudoをつけて実行してしまうとあとから変更できなくなっているかもしれませんが…)。これは、システム標準のRubyが使うgemsのディレクトリの書き込みには管理者権限が必要ですが、rbenvはユーザのHOME直下にgemsファイルを置くので、ユーザの権限で読み書きできるためです。


なお、

ERROR: Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: tlsv1 alert protocol version (https://rubygems.org/latest_specs.4.8.gz)

といったようなエラーが出るのは、Rubyのバージョンが古い場合です。私の環境では、ruby 2.0.0p648のgem 2.0.14.1(macOSの標準のRuby)を使ってみたところ再現しました。これはつまり、gem install railsでこのエラーが出るということは、rbenvでインストールしたrubyに付属するgemコマンドが使われていない、ということになるので、そこを解決する必要があります(rubygemsを再インストールする必要はありません)。


ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Users/ユーザー名/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rails-5.2.0/README.md

みたいなエラーが出るのは、Permissionでsudoをつけたのとつけないのが混ざってしまっている可能性があります。
いったんgemをアンインストールしてから再インストールしてみるとよいかもしれません。

gemのアンインストールにはgem uninstallを使います。
まずgem uninstall -a -I -x --forceをやってみて、何かエラーが出たらsudo gem uninstall -a -I -x --forceも実行してみてください。これでインストールしたgemが一通り消えるはずです。
そこで改めて、gem install railsでインストールしてみるとよいでしょう。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/27 23:43

    ありがとうございます!

    rbenv local 2.4.1

    とした上でエラーなど特にでず、

    gem install rails

    と打ち込むと、

    ERROR: Could not find a valid gem 'rails' (>= 0), here is why:
    Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: tlsv1 alert protocol version (https://rubygems.org/latest_specs.4.8.gz)

    となってしまいました。
    ググると https://qiita.com/betrue12/items/059c2424f27fd31969f9 に近いようでしたが、windows環境の記事だったのでひとまずは上の記事の解決方法は行なっておりません。

    試してみた方がよさそうでしょうか。

    キャンセル

  • 2018/07/28 00:18

    rbenv localを実行したあと、そのディレクトリに.ruby-versionというファイルはできますか?
    また、そこでruby -vと実行すると何が表示されますか?

    キャンセル

  • 2018/07/28 00:19

    さらに、which gemと実行すると何が表示されますか?

    キャンセル

  • 2018/07/28 00:29

    あー、Unable to download data from https://rubygems.org/ - SSL_connect... のエラーが再現できました。上の回答に追記しますね。

    キャンセル

  • 2018/07/28 01:09

    ありがとうございます!
    再度ググって
    bash_profileに
    eval "$(rbenv init -)"
    を記載してみた上で、ターミナルの再起動、ruby -v で ruby 2.4.1p111 となるようになりました!
    2.4.1がデフォルトで使えるようになっているということでしょうか。

    その後、改めてrailsのインストールをしようと

    gem install rails

    をしたところ、

    ERROR: While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/ユーザー名/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rails-5.2.0/README.md

    と出るようになりました。。!

    となってしまいました。

    キャンセル

  • 2018/07/28 01:34

    なるほど、一歩前進ですね。
    そのエラーはpermissionのエラーで、sudoをつけて実行したのとつけないで実行したのが混ざってるような気がしますね…。回答に追記しておきます。

    キャンセル

  • 2018/07/28 13:54

    ありがとうございます。

    アンインストールではエラーは出ず、
    INFO: Uninstalled all gems in
    となりました。

    改めてgem install rails

    をしてみましたが、再度

    ERROR: While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/ユーザー名/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/CHANGELOG.md

    となりますね。。。末尾の方のエラーは少し異なるようではあります。。

    キャンセル

  • 2018/07/28 13:59

    うーん、まだエラーがPermission deniedが出るということは、concurrent-ruby-1.0.5が消されずに残ってしまっているということですよね…。
    sudo gem uninstall -a -I -x --force
    の方も試してみていただけますか?

    キャンセル

  • 2018/07/28 16:02

    sudo gem uninstall -a -I -x --force

    を試してみました。やはり INFO: Uninstalled all gems in
    となり、再度 gem install rails をしてみましたが、

    ERROR: While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/ユーザー名/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/CHANGELOG.md

    となってしまいます。。!

    キャンセル

  • 2018/09/01 12:49

    一旦、別環境で作業を進めることにいたしました。
    ご確認、ご回答ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る