LoginSignup
2
0

More than 5 years have passed since last update.

Railsコンソール終了時にエラーになる(Ralis チュートリアル)

Last updated at Posted at 2018-12-13

前提

RailsチュートリアルをAWS Cloud9を使ってやってます。
windowsで火狐使ってます。

困ったこと

厳密には困ってはないのですが、Railsコンソール終了時にエラーが発生していました。
特に使えないわけではないですがちゃんと見てみることに。
以下出ていたエラーです。

/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:98:in `initialize': Permission denied @ rb_sysopen - /usr/local/rvm/rubies/ruby-2.4.1/.irbrc_history (Errno::EACCES)

見てみると「/usr/local/rvm/rubies/ruby-2.4.1/.irbrc_history」に権限がないとのこと(Permission denied)。
「/usr/local/rvm/rubies/ruby-2.4.1」に飛んでファイルを確認すると
そもそもファイルがない。

ec2-user:/usr/local/rvm/rubies/ruby-2.4.1 $ cd /usr/local/rvm/rubies/ruby-2.4.1/
ec2-user:/usr/local/rvm/rubies/ruby-2.4.1 $ ls -a
.  ..  bin  config  include  .irbrc  lib  patches.list  share

んでもう一回エラーを見ると「save-history.rb」でエラーが起きている。つまり履歴を出力しようとして落ちているかな~と推測(今までずっとエラーだったのでファイルがないのもそのせいかなと)。
ディレクトリ自体に権限がないのかなと思い、「/usr/local/rvm/rubies/ruby-2.4.1」の権限を確認。

ec2-user:/usr/local/rvm/rubies $ ls -l
total 4
lrwxrwxrwx 1 root rvm   32 Dec  3 09:43 default -> /usr/local/rvm/rubies/ruby-2.4.1
drwxrwxr-x 6 root rvm 4096 Dec  3 09:43 ruby-2.4.1

今のユーザーに書き込み権限がなかったので、権限付与して確認。

ec2-user:/usr/local/rvm/rubies $ chmod a+w ruby-2.4.1/
chmod: changing permissions of ‘ruby-2.4.1/’: Operation not permitted
ec2-user:/usr/local/rvm/rubies $ sudo chmod a+w ruby-2.4.1/                                                                        
ec2-user:/usr/local/rvm/rubies $ ls -l
total 4
lrwxrwxrwx 1 root rvm   32 Dec  3 09:43 default -> /usr/local/rvm/rubies/ruby-2.4.1
drwxrwxrwx 6 root rvm 4096 Dec  3 09:43 ruby-2.4.1

権限がついたのを確認できたので、Railsコンソールを起動して終了させると正常終了しました!
実際に問題のディレクトリ見ると今度は「.irbrc_history」がありました。

ec2-user:/usr/local/rvm/rubies/ruby-2.4.1 $ ls -a
.  ..  bin  config  include  .irbrc  .irbrc_history  lib  patches.list  share

感想

Linuxを今まで触ってこなかったので、ちょっとしたことでも解決に時間かかりますね。

参考資料

Linuxの権限確認と変更(超初心者向け)

2
0
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
2
0