使用sudo时的gem问题

时间:2012-03-25 08:11:10

标签: ruby sudo

我已经制作了一个在我的开发环境中使用RVM正常运行的脚本。该脚本读取* .eml文件并解析它们。

现在,我的问题是这个。当我将它传输到生产服务器时,它会在读取一些文件时给出Permission denied - filename.eml (Errno::EACCES)。当我使用sudo nano filename.eml手动阅读这些文件时,它是可读的,所以我认为用sudo运行我的ruby脚本就是答案。

但是当我尝试使用sudo ruby scriptname.rb运行时,这次它给了我一个cannot load such file -- mail (LoadError)

邮件gem已明确安装,并在gem list --localsudo gem list --local中显示。

ruby​​版本与sudo相同或不相同(1.9.3)。

也可以使用sudo irb访问邮件gem,然后输入require 'mail'

开发和生产环境都在使用RVM管理的ruby版本的Mac OS上。

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

对于您的服务器用户而言,宝石可能无法读取,例如' wwwroot',因此请确保该文件为775模式。例如

  1. cd $ GEM_HOME
  2. sudo chmod 755 -R。
  3. 然后其他组的用户都可读取所有内容。