Help us understand the problem. What is going on with this article?

【rails】PCからrvenvだけを間違ってアンインストールしてしまって鼻血が出た話

コトの顛末

EC2に自分の作ったアプリをgit cloneしまして「さて、bundle installじゃ!」という時に、
エラーが出まくり。どうやらrvenvをアンインストールして、再度入れ直すと良いという事が書いある記事を見たのでやろうとしたら、タイムアウトしていたよう。
ローカル場でコマンドを打ち込んでしまい、PCからrvenvをアンインストールされrails起動しなくなってしまいました。

勉強中の身ではありますが、開発中の出来事で発狂しそうになり、
物理以外で初めて鼻血が出ました。

もう一度入れようとするとクセあり

最初に環境構築したように、普通にrvenvをもう一度インストールすればいいんでしょ?って思ったらそうも行かず。

rvenvのインストールはうまく行くのですが、
そのあとにbundlerを入れるくだりで下記のようなエラーが出る。

$ gem install bundler
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/okachan/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/CHANGELOG.md

これを解決するためには「/Users/(ユーザー名)/.rvenv/versions」配下にあるファイルに書き込む権限がないからコマンドが通らないそう。

書き込みできるように権限を変更するコマンドを入力してから、再度入れ直すという流れになります。

権限を変更するくだり

$ sudo chown -R okachan:staff /Users/okachan/.rbenv/

[okachan]の部分がご自身のユーザー名が入ります。
パスワードを聞かれるので自身のPCのパスワードを入力。
logもでず、スン...と完了するのでちゃんと変更できているか確認します。

権限変更できたか確認するくだり

$ ls -la

これをすると下記のような結果が出ます。

~略~
drwxr-xr-x    4 okachan  staff    128  8 14 21:28 versions
~略~

上記に似た感じのlogが30行くらい出てくるので.versionsを確認
staffに変更されているので構築用のコマンド入れていきましょう。

rails sするために必要なコマンドを入れるくだり

$ gem install bundler
$ gem install rails

これで足りないものがインストールされています。
「$ rails -v」でrails入っているか確認してバージョンが表示されていればOK。

何かのサイトを「rails s」をすると
下記のようなエラーが出ます。

$ rails s
Could not find rake-13.0.0 in any of the sources
Run `bundle install` to install missing gems.

サイトもbundle installしてあげましょう。
全部のgemを再度installし直しているらしく結構時間がかかります。

さて、gemインストールできましたら、rails sしてみてください。

これでできるはずです!

おわりに

これをやらかした時に、検索してもただインストールし直す記事ばかり引っかかって、解決法にたどり着けませんでした。

自分だけなのでは?
変なコマンドいれたからもう直らないのでは?
これは解決する問題なのだろうか?

と途方にくれましたが、根気よく探したら同じような状況の記事があり助かりました。

助かるうううう

タイムアウトの確認を必ずするクセつけないと、いけないと感じました。

参考記事

Rails cが実行不可能、Permission denied @ rb_sysopen – /Users/…の対応策
http://infinity108.com/114/

Ruby on Railsの導入方法とエラー対処
https://qiita.com/raihara3/items/8ea7228b36e82a1b0eab

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした