From: shyouhei@... Date: 2017-09-25T12:16:54+00:00 Subject: [ruby-core:82987] [Ruby trunk Feature#13613] Prefer that require/require_relative/load to tell us permission error if the target file is unreadable Issue #13613 has been updated by shyouhei (Shyouhei Urabe). We looked at this issue in a developer meeting today. It seems we need to define "fatality" of each situations for requiring a library. For instance, ENOENT seems less fatal than EACCESS. For ENOENT situation we can silently ignore the error and continue searching in the next LOAD_PATH. However on EACCESS (which means there do exist a file but not readable), it might be worth raising exceptions. We did not reach consensus whether we should raise then, or to just print warning and continue searching. ---------------------------------------- Feature #13613: Prefer that require/require_relative/load to tell us permission error if the target file is unreadable https://bugs.ruby-lang.org/issues/13613#change-66895 * Author: sonots (Naotoshi Seo) * Status: Feedback * Priority: Normal * Assignee: * Target version: ---------------------------------------- ### Background https://github.com/google/google-api-ruby-client/issues/205 We've ever met a situation that read-permissions of files in released google-api-client gem were lost as: ``` $ ls -l ~/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/google-api-client-0.8.3/lib/google -rw-r----- 1 sonots sonots 27249 March 24 18:32 2015 api_client.rb ``` The error message was ``` in `require': cannot load such file -- api_client.rb (LoadError) ``` At that time, it took 30 minutes for me to find the reason why we get LoadError with the gem because the file exists. I looked the source codes load.c, and finally I found the reason as it is because of permission with my intuition. ### What I Want If `require` tells us PermissionError in addition to LoadError, I could figure out the reason soon. I think the additional information is helpful for finding such issues. -- https://bugs.ruby-lang.org/ Unsubscribe: