RVMを使用して自分の開発環境で正しく動作しているスクリプトを作成しました。このスクリプトは* .emlファイルを読み取り、解析します。sudoを使用するとgemの問題が発生する
今、私の問題はこれです。運用サーバーに転送すると、一部のファイルを読むときにPermission denied - filename.eml (Errno::EACCES)
と表示されます。私が手動でsudo nano filename.eml
を使ってこれらのファイルを読むと、読み込み可能なので、sudoを使って自分のルビースクリプトを実行すると答えたと思った。
しかし、sudo ruby scriptname.rb
で実行しようとしたとき、今回はcannot load such file -- mail (LoadError)
と表示されます。
メール欄が明確にインストールされており、gem list --local
とsudo gem list --local
の両方に表示されています。
ルビのバージョンは、sudo(1.9.3)の有無にかかわらず同じです。
sudo irb
を入力してrequire 'mail'
と入力してもメール宝石にアクセスできます。
RVM管理のルビーバージョンを搭載したMac OS上には、開発環境と本番環境の両方があります。
ご協力いただきますようお願い申し上げます。ありがとう。
私の答えは、単に 'rvmsudo ruby scriptname.rb'を使うことだと分かりました。なぜそれが動作するかわからないが、それはありません。 – dashmug