2009-11-17 86 views
4

我刚为Rails设置了一个全新的Mac OS X 10.5环境。我安装了Ruby 1.8.7,在/ usr/bin中重命名了Ruby的打包版本,并将打包版本的RubyGems从1.0.1更新为1.3.4。这里的流程:在Mac OS X上安装Fresh Rails让我“Rails需要RubyGems> = 1.3.2”

 
$ rails -v 
Rails 2.3.4 
$ gem -v 
1.3.4 
$ which gem 
/usr/bin/gem 
$ whereis gem 
/usr/bin/gem 
$ which rails 
/usr/bin/rails 
$ whereis rails 
/usr/bin/rails 
$ /usr/bin/gem -v 
1.3.4 
$ /usr/bin/rails -v 
Rails 2.3.4 
$ rails testapp 
... 
... 
testapp $ script/console 
Rails requires RubyGems >= 1.3.2. Please install RubyGems and try again: http://rubygems.rubyforge.org 

事情是我更新了RubyGems并没有安装它的另一个版本。但是,gem list rails显示了两个版本的Rails(2.3.4和1.2.6)。

我该如何解决这个问题才能使用Rails?

+0

只是好奇,当你做所有的宝石stuff.â'我注意到这确实会影响某些系统上的东西使用'sudo gem ...'。我自己在Mac上,并试图确保任何宝石的东西总是通过sudo完成。 – nowk 2009-11-22 19:25:49

回答

0

如果加载了不兼容的版本,Rails会告诉你RubyGems的版本。你得到的错误信息意味着它根本无法加载RubyGems,所以我认为这是一个路径问题。

在irb中,你从$:得到什么?在这些地点是否有rubygems.rb

+0

我没有看到它;我怎样才能解决这个问题?当我在Mac OSX上升级现有的RubyGems安装时,我不明白为什么它不存在 - 是不是已经设置好了? – 2009-11-17 23:45:26

+0

我想我看到了问题,但我不确定。运行gem环境显示我的Ruby版本为1.8.6,但我安装了1.8.7。我认为,因为我只安装了新版本的Ruby,但保留并更新了原始版本的宝石,这里有一些奇怪的事情发生。 – 2009-11-17 23:48:06

+0

仅供参考我保留默认的rubygems安装,因为我遇到了一些问题,试图安装期望默认gem位置的东西;我是命令行的新手:( – 2009-11-17 23:57:34

0

让您的生活更轻松,并使用Macports而不是尝试更新和重新核心核心系统库。 :-)

2

一个建议是不要更改系统版本,而是安装在/ usr/local或使用MacPorts。

HiveLogic的家伙覆盖了Rails以及MySQL和其他开发工具。

采用这些技术,我已经成功地安装了轨到/ usr /本地然后,它通过(出口PATH =在/ usr/local/bin目录:$ PATH)调整在终端外壳的路径设置一个简单的事情

1

您是否尝试过:

sudo gem update --system 

这应该让你的最新版本RubyGems的,这有点像1.3.5。

0

我第二那种情绪,如果我能,将赞成票从prodigitalson了答案 - MacPorts的是你的朋友。推荐你专门跑:

$ sudo的港口安装rubygem

$创业板安装导轨

关键是在同步使您which ruby和你的RubyGems which gem。和谐共处......都应该在/ opt/local/bin/

因此,Ruby on Rails 2.3.8在我的MacOS 10.5.8上工作 - 而且gem environment不再位于MacPorts安装并报告正确之后版本,1.8.7。

$ gem environment 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.4 
    - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9] 
    - INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8 
    - RUBY EXECUTABLE: /opt/local/bin/ruby 
    - EXECUTABLE DIRECTORY: /opt/local/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-darwin-9 
    - GEM PATHS: 
    - /opt/local/lib/ruby/gems/1.8 
    - /Users/saleram/.gem/ruby/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/ 
0

有同样的问题,这是我所做的解决它:

首先,更新宝石

gem update --system 

导航到主路径中gem env,在我的情况/Library/Ruby/Gems/1.8

cd /Library/Ruby/Gems/1.8 

然后导航到宝石本身:

cd gems/rubygems-update-1.3.5 

运行setup.rb

sudo setup.rb 

A就是这样。

0

您是否认为BitNami Rubystack是另一种选择?它是一个免费的安装程序,它提供了一个带MySQL的开箱即用Rails环境(以及一些预配置的常用第三方库和应用程序)。请注意我是RubyStack的贡献者之一,所以我很偏向。它是免费的,并在Apache 2.0开源许可证下发布。

+0

)每次提到产品时都应该公开你与公司的关系,否则在这里被认为是垃圾邮件 – 2011-08-03 17:27:42

+0

我在其他大多数问题上都这么做过,我的个人资料也是如此BitNami不是一家公司,我们也没有为这些堆栈赚钱(尽管它是由一家公司赞助的,我们也向其他一些开源公司提供支持和服务,例如Sugar,Alfresco等)。无论如何,我现在已经更新了我的回复,并且我相信没有必要降低回答,因为它与这个主题直接相关。 – 2011-08-03 21:05:47

+0

我没有downvote。垃圾邮件标志就是这样的。现在你已经更新了答案,但是请注意,你应该在你的每个答案中指定你的联系方式,仅仅在你的个人资料中包含它是不够的,所以你应该检查你的答案是否推荐你的答案cts包含免责声明 – 2011-08-03 23:11:30