LoginSignup
1
1

More than 3 years have passed since last update.

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

Posted at

コトの顛末

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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1