在生产服务器上安装Rails 3应用程序(无编译器/ root访问权限)

时间:2011-05-25 16:02:10

标签: ruby-on-rails ruby ruby-on-rails-3 macos rubygems

我正在尝试在运行Mac OS X Server 10.6.6的生产盒(没有编译器,没有root访问权限)上设置rails应用程序。它有红宝石1.8.7(2009-06-12 patchlevel 174)[universal-darwin10.0]和gem 1.3.5。但是我需要安装更新版本的rubygems,因为我需要Rails 3和Bundler。我无法更新系统ruby或rubygems。

我尝试安装本地版本的rubygems(v 1.7.2),但'gem -v'仍然返回1.3.5。 '哪个宝石'肯定指向我当地的rubygems二进制文件。我做错了什么?

以下是'gem env'的输出:

RubyGems环境:
   - RUBYGEMS版本:1.3.5
   - RUBY VERSION:1.8.7(2009-06-12 patchlevel 174)[universal-darwin10.0]
   - 安装目录:/.gem/ruby/1.8/gems
   - RUBY EXECUTABLE:/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
   - 可执行目录:/。gem / ruby​​ / 1.8 / gems / bin
   - RUBYGEMS PLATFORMS:
     - 红宝石
     - universal-darwin-10
   - 创业板路径:
      - /.gem/ruby/1.8/gems
      - /.gem/ruby/1.8
      - /Library/Ruby/Gems/1.8
      - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
   - 创业板配置:
      - :update_sources =>真正
      - :verbose =>真正
      - :benchmark =>假
      - :backtrace =>假
      - :bulk_threshold => 1000
   - 远程来源:
      - http://gems.rubyforge.org/

增加: 当我运行gem update --system时,我收到以下错误:

Updating RubyGems  
Updating rubygems-update  
Successfully installed rubygems-update-1.8.5  
Updating RubyGems to 1.8.5  
Installing RubyGems 1.8.5  
ERROR:  While executing gem ... (Errno::EACCES)  
    Permission denied - /Library/Ruby/Site/1.8/gauntlet_rubygems.rb  
RubyGems system software update

它仍然报告运行版本1.3.5

2 个答案:

答案 0 :(得分:0)

您是否更新了PATH,而不是默认使用本地gem 1.7.2二进制文件?例如。如果您在~/bin中安装了1.7.2二进制文件,则需要使用.bash_profile更新export PATH="~/bin:$PATH"

运行which gem以查找运行gem env时正在调用的gem二进制文件。

答案 1 :(得分:-1)

你可以在服务器上安装rvm吗?如果是这样,那么你可以在你自己的应用程序特定的rvm中运行,并在其中拥有你想要的任何宝石/ ruby​​gems。