【问题标题】:Cannot get the basic rails tutorial to work on OS X Lion无法获得在 OS X Lion 上工作的基本 Rails 教程
【发布时间】:2012-07-07 20:50:12
【问题描述】:

我一直在努力让这个介绍发挥作用:

http://guides.rubyonrails.org/getting_started.html

当我尝试这一步'rails generate scaffold Post name:string title:string content:text'时,我得到以下信息:

Cerberus:app lab49$ rails generate scaffold 帖子名称:字符串标题:字符串内容:文本 调用 active_record /usr/local/rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract/connection_specification.rb:66:in connection_url_to_hash': undefined methodsub' 对于 nil:NilClass (无方法错误) 来自 /usr/local/rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract/connection_specification.rb:34:in block in resolve_string_connection' from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/activerecord->3.2.6/lib/active_record/connection_adapters/abstract/connection_specification.rb:33:infetch'

我在 Mac OS X Lion 10.7.4 上使用 ruby​​-1.9.3-p194 和 rails 3.2.6。

过去几天我一直在互联网上寻找解决方案。我取得的唯一进展是降级到 rails 3.1.6,但这会引入保存模型的错误。

任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails-3 osx-lion


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      我从源代码编译了 ruby​​ 1.9.3p194,但我首先必须从源代码编译 libyaml

      删除/移动 /usr/bin 中的默认文件

      sudo mv rails rails-old
      sudo mv bundle bundle-old
      sudo mv ruby ruby-old
      sudo mv gem gem-old
      

      编译 libyaml

      cd libyaml-x.x.x
      ./configure
      make
      make install
      

      编译 ruby​​(前缀会告诉它在 make install 期间安装在哪里,with-opt-dir 会告诉它在哪里可以找到 readline、libyaml 等库。如果你安装了 xcode,Lion 应该已经在目录中拥有它们)

      ./configure --prefix=/usr/local --with-opt-dir=/usr/local/lib
      make
      make install
      

      安装导轨

      gem install rails
      

      【讨论】:

      • 我试过了,但没用。还尝试降级到 Xcode 4.1 并按照@Connor 发布的说明进行操作。最后我安装了一个 Ubuntu 虚拟机,所以我可以取得一些进展。
      • 确保如果您安装 Xcode 4.3 或更高版本,您进入 Xcode 的首选项并安装命令行工具。您可以通过在终端窗口中运行 which git 并查看它是否出现 /Applications/Xcode.app/Contents/Developer/usr/bin/git 来检查它们是否易于安装
      • 您在尝试我的方法时是否也遇到过任何错误?
      • 我在使用4.3时安装了命令行工具。尝试了你的方法后,我得到了和上面一样的结果。
      • 你在使用我的方法后删除了 rvm 吗?您还需要移动或远程 rvm。此外,如果您使用的是 mysql 等数据库,则需要将其位置放在环境路径中或在配置命令期间指定它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2012-01-15
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多