Ruby on rails 在Mac上安装Ruby on Rails

Ruby on rails 在Mac上安装Ruby on Rails,ruby-on-rails,ruby,macos,rails-spring,Ruby On Rails,Ruby,Macos,Rails Spring,为了在我的Mac(v10.9.2)上安装RoR,我决定按照Ruby 1.9.2的说明进行操作: “rvm安装1.9.2”花费的时间太长,因此基于对so的建议,我使用“rvm要求”分别使用macports安装每个要求。然后我执行了“rvm安装1.9.2”,它运行得更快 当我试图执行“gem安装导轨”时,我收到一条错误消息,上面说 activesupport要求Ruby版本>=1.9.3 因此,我返回并再次尝试使用1.9.3: rvm install 1.9.3 rvm --default 1.9.

为了在我的Mac(v10.9.2)上安装RoR,我决定按照Ruby 1.9.2的说明进行操作:

“rvm安装1.9.2”花费的时间太长,因此基于对so的建议,我使用“rvm要求”分别使用macports安装每个要求。然后我执行了“rvm安装1.9.2”,它运行得更快

当我试图执行“gem安装导轨”时,我收到一条错误消息,上面说

activesupport要求Ruby版本>=1.9.3

因此,我返回并再次尝试使用1.9.3:

rvm install 1.9.3
rvm --default 1.9.3
gem update
gem install rails
这一次,在rails安装命令期间,安装rails文档的过程被卡住了。我决定中断并运行以下程序:

gem install --no-ri --no-rdoc rails
这成功了!我运行了以下命令:

rails new pong; cd pong; rails generate controller welcome index
该字符串中的最后一个命令给了我以下错误:

/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/sid.rb:17:in
fiddle_func”:未初始化的常量Spring::SID::DL(NameError)
从…起
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/sid.rb:30:in
sid'来自 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/sid.rb:39:in
pgid'来自
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/server.rb:78:in
set\u pgid'from /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/server.rb:34:in
boot'从
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/server.rb:14:in
boot'从 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/run.rb:36:in
从启动服务器中阻止
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/run.rb:34:in
fork'来自 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/run.rb:34:in
boot_服务器'from
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/run.rb:18:in
call'来自 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/command.rb:7:in
call'来自
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/rails.rb:23:in
call'来自 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client/command.rb:7:in
call'来自
/Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/client.rb:26:in
run'from /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/bin/spring:48:in 来自 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/binstub.rb:11:in load'从 /Users/me/.rvm/gems/ruby-1.9.3-p545/gems/spring-1.1.2/lib/spring/binstub.rb:11:in
”from/Users/me/Coding/pong/bin/spring:16:in
require'from/Users/me/Coding/pong/bin/spring:16:in
'from-bin/rails:3:in
load'from-bin/rails:3:in`'

基于阅读和其他方面的建议,我决定尝试使用不同的编译器:

port install gcc46
CC=`which gcc-mp-4.6`
rvm reinstall 1.9.3
gem install
rvm reinstall 1.9.3

这个安装也有同样的问题。

我怀疑中断这些构建可能会使事情处于不好的状态。首先,卸载1.9.2。1.9.3-p545是受支持的最早版本,至少到目前为止

接下来,卸载gem'spring commands rspec'并运行gem pristine-all。然后再安装另一个包。FWIW,我能够在我的10.9.2 macbook上运行spring。如果gcc给您带来问题,您可能必须重新安装xcode命令行工具


除此之外,运行rails应用程序不需要spring。它主要是开发和测试期间的助手。一旦你把东西清理干净,我会把它从你的GEM文件中删除,直到你真正需要它。

我把@Andrew的建议和一些常识混合在一起,就能让事情正常运行

我首先清理了我造成的混乱:

sudo rvm remove 1.9.2
sudo rvm remove 1.9.3
sudo rvm remove 1.9.3-p545
sudo gem uninstall spring-commands-rspec
sudo gem pristine -a
sudo port uninstall rvm
然后我重新安装了rvm

sudo port install rvm
并用rails重新安装了Ruby 1.9.3:

sudo rvm install 1.9.3
sudo gem update
sudo gem install --no-ri --no-rdoc rails
上述问题仍然存在

然后我想起在安装Ruby时收到了以下消息(确认Andrew的评论):

警告:请注意,您刚刚安装的ruby不是 长期维护(2014-02-23),关于维护红宝石列表,请访问:

http://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering

请考虑升级到RUBY-2.1.1,这将拥有所有的 最新的安全补丁

所以,我又打扫了一遍:

sudo rvm remove 1.9.3
sudo rvm remove 1.9.3-p545
sudo gem uninstall spring-commands-rspec
sudo gem pristine -a
然后,我尝试安装Ruby 2.1.1和Rails:

sudo rvm install 2.1.1
sudo gem update
sudo gem install --no-ri --no-rdoc rails
这一次,我尝试跑步时没有出现错误

rails new pong; cd pong; rails generate controller welcome index
这不是一个理想的答案,因为我仍然无法使用1.9.3,但它符合我的目的(我认为)。有人有任何理论解释为什么1.9.3不起作用吗

谢谢

草藤