【问题标题】:Phusion Passenger on Ubuntu 8.10: how to setup gem directory and users?Ubuntu 8.10 上的 Phusion Passenger:如何设置 gem 目录和用户?
【发布时间】:2010-01-25 08:18:16
【问题描述】:

我实际上在 ubuntu 上运行了一段时间的 phusion 乘客。今天我将 Ruby 企业版更新到最新版本 - 现在看来我必须重新安装系统上安装的所有 gem。所以这是我的问题

  • 设置 phusion 乘客版和 ruby​​ 企业版以便之后轻松维护 gems 的最佳方法是什么,即使发布了新的 Ruby 企业版?
  • 应该从 root 用户或系统用户(用户 .gem 目录)安装 gem - 这里的最佳做法是什么?

【问题讨论】:

    标签: ruby ubuntu rubygems passenger


    【解决方案1】:

    我现在做了以下操作,以使我的系统更易于维护(欢迎任何 cmets,因为我不确定这是否是最佳做法)

    • 以 root 用户身份卸载所有 gem:gem list --no-versions | xargs gem 卸载 -a -I
    • 以 root 用户身份安装乘客(通过 /opt/REE/bin/gem 安装乘客) - 我还必须安装“rake”
    • 创建了一个从 /opt/REE 到最新 ruby​​ 企业版目录的符号链接
    • 以 root 用户身份运行 /opt/REE/bin/passenger-install-apache2-module
    • 将 loadmodule 指令添加到 /etc/apache2/apache2.conf 中
    • 创建一个用户 phusion 乘客在其下运行并将其路径更改为 1) ruby​​ 系统二进制目录 2) 用户特定的 gem 二进制目录

      PATH=$PATH:/home//.gem/ruby/1.8/bin:/opt/ruby-enterprise-1.8.7-2010.01/bin

    (我更改了 .bash_profile 中的设置并使用 su username -l 切换到用户) 我现在在包中维护的大多数宝石(冻结)。除了安装在系统上的rails。

    还有其他(更好的)方法吗?其他人是如何进行这种系统维护的?

    【讨论】:

    • 好的,我想我现在有了答案(至少这对我来说是这样的)另请参阅reborg.tumblr.com/post/99668398/rails-gems-unpack-native 了解更多信息。冻结导轨,将宝石解包到供应商目录,然后让基本的宝石在线工作。对于基本 gem,我的意思是 rack、passenger、fastthread 和 rake(如果您愿意,可以使用 +db gems)。其余的随应用程序一起提供,并在部署时编译,如果需要,通过 rake gems:install.
    【解决方案2】:

    我想知道你是否可以像 jruby 那样使用 GEM_HOME?我没有尝试过,但它似乎很优雅。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 2019-01-17
      • 2010-09-12
      • 2016-05-31
      • 2011-11-01
      相关资源
      最近更新 更多