Marchan4
@Marchan4 (Marchan4)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

railsのターミナルで、あるコマンドを実行した後、エラーが出たのに、エラーが出た2日後にまた同じコマンドを実行したら、エラーが出ませんでしたが、なぜエラーが出なかったのかを教えてください。

rubyのバージョンは3.0.0、 mysqlのバージョンは5.7、 bundlerバージョンは2.2.3です。
使用機器macOS Big Sur バージョン11.2.2です。使用中のテキストエディタはAtomです。

$ rails -v

というコマンドを入力後、

$ rails -v

Ignoring puma-5.2.1 because its extensions are not built. Try: gem pristine puma --version 5.2.1
Rails 5.0.7.2

というメッセージが表示されて、

$ gem pristine puma -- version 5.2.1

というコマンドを入力後

$ gem pristine puma -- version 5.2.1

Restoring gems to pristine condition...
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied @ rb_sysopen - /Users/ユーザ名/.rbenv/versions/3.0.0/lib/
ruby/gems/3.0.0/gems/puma-3.12.6/History.md

というエラーが表示されましたが、

2日後に、また

$ rails -v

というコマンドを入力して、

$ rails -v

Ignoring puma-5.2.1 because its extensions are not built. Try: gem pristine puma --version 5.2.1
Rails 5.0.7.2

というメッセージが表示されて、

$ gem pristine puma --version 5.2.1

というコマンドを入力したら、

$ gem pristine puma --version 5.2.1

Restoring gems to pristine condition...
Building native extensions. This could take a while...
Restored puma-5.2.1

というメッセージが表示されて、エラーが表示されませんでした。

それから

$ rails -v

というコマンドを入力したら、

$ rails -v

Rails 5.0.7.2

というメッセージが表示されました。

railsのターミナルで、あるコマンドを実行した後、エラーが出たのに、エラーが出た2日後にまた同じコマンドを実行したら、エラーが出ませんでしたが、
なぜエラーが出た時のコマンドと同じコマンドを実行したのにエラーが出なかったのかを教えてください。

0

1Answer

エラーメッセージ Errno::EACCES は、ファイルあるいはフォルダに権限がないことを表しています。

1回目の実行時には /Users/ユーザ名/.rbenv/versions/3.0.0/lib/ ruby/gems/3.0.0/gems/puma-3.12.6/History.md を作成(あるいは変更/削除)しようとして、権限がないからエラーとなりました。

おそらく、途中のフォルダに権限がなかったか、ファイルが既に存在して権限がないかロックがかかっていたなどで変更/削除ができなかったのだと思います。

2回目に実行したときにはエラーにならなかったということは

  • フォルダあるいはファイルに権限が付与された(chmod)、あるいはロックされていない
  • フォルダあるいはファイルのオーナーやグループが変更された(chown, chgrp)
  • フォルダあるいはファイルが削除された
  • 実行したユーザを変えた
  • 使うフォルダが別になった

などが考えられます。

おそらく、フォルダの権限・オーナーを変えたか、削除したのではないでしょうか?
(明示的に作業したか、何かのプログラムが動いて間接的に変わったのかはわかりませんが)

1Like

Your answer might help someone💌