我正在尝试在运行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
答案 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中运行,并在其中拥有你想要的任何宝石/ rubygems。