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

发布于 2024-11-09 16:24:25 字数 1543 浏览 0 评论 0原文

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

我尝试安装本地版本的 ruby​​gems (v 1.7.2),但“gem -v”仍然返回 1.3.5。 “which gem”肯定指向我本地的 ruby​​gems 二进制文件。我做错了什么?

以下是“gem env”的输出:

RubyGems 环境:
- 红宝石版本:1.3.5
- RUBY 版本:1.8.7(2009-06-12 补丁级别 174)[universal-darwin10.0]
- 安装目录:/.gem/ruby/1.8/gems
- RUBY 可执行文件:/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- 可执行目录:/.gem/ruby/1.8/gems/bin
- 红宝石平台:
- 红宝石
- 通用达尔文-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 =>真实
- :详细=>真实
- :基准=>假
- :回溯=>假
- :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

I'm trying to set up a rails app on a production box (no compiler, no root access) that's running Mac OS X Server 10.6.6. It's got ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0], and gem 1.3.5. However I need to install a newer version of rubygems because I need Rails 3 and Bundler. I can't update the system ruby or rubygems.

I tried installing a local version of rubygems (v 1.7.2) but 'gem -v' still returns 1.3.5. 'which gem' definitely points to my local rubygems binary. What am I doing wrong?

Here's the output from 'gem env':

RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
- INSTALLATION DIRECTORY: /.gem/ruby/1.8/gems
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /.gem/ruby/1.8/gems/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-10
- GEM PATHS:
- /.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
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/

Addition:
When I run gem update --system I get the following error:

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

It still reports running version 1.3.5

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

呆° 2024-11-16 16:24:25

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

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

Did you update your PATH to prefer your local gem 1.7.2 binary over the default? E.g. if you installed the 1.7.2 binary in ~/bin, you'd want to update your .bash_profile with export PATH="~/bin:$PATH".

Run which gem to find out which gem binary you are calling when you run gem env.

椒妓 2024-11-16 16:24:25

可以在服务器上安装rvm吗?如果是这样,那么您可以在自己的特定于应用程序的 rvm 中运行,并在其中包含您想要的任何 gems/rubygems。

Can you install rvm on the server? If so then you can run inside your own app-specific rvm and have whatever gems/rubygems you want inside that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文