2012-03-25 18 views
0

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 --localsudo gem list --localの両方に表示されています。

ルビのバージョンは、sudo(1.9.3)の有無にかかわらず同じです。

sudo irbを入力してrequire 'mail'と入力してもメール宝石にアクセスできます。

RVM管理のルビーバージョンを搭載したMac OS上には、開発環境と本番環境の両方があります。

ご協力いただきますようお願い申し上げます。ありがとう。

+0

私の答えは、単に 'rvmsudo ruby​​ scriptname.rb'を使うことだと分かりました。なぜそれが動作するかわからないが、それはありません。 – dashmug

答えて

0

「wwwroot」など、あなたのサーバーユーザーがgemを読むことができない場合があるので、ファイルが775モードであることを確認してください。例えば

  1. CD $ GEM_HOME
  2. sudoは755 -Rます。chmod。

他のグループのユーザーはすべて読み取り可能です。

+0

可読です。私が言ったように、私は 'sudo irb'を使って' mail 'を要求することができます。 – dashmug

関連する問題