【发布时间】:2011-05-02 20:47:13
【问题描述】:
我正在尝试为 MySQL 安装 Ruby GEM。我对 Ruby 很陌生。
我已经安装了 RVM 和 Bundler。我应该通过 Bundler 还是 RVM 安装 gem?
正确执行此操作的实际命令是什么?
【问题讨论】:
-
你应该接受答案(左边的勾)
标签: mysql ruby-on-rails ruby rvm bundler
我正在尝试为 MySQL 安装 Ruby GEM。我对 Ruby 很陌生。
我已经安装了 RVM 和 Bundler。我应该通过 Bundler 还是 RVM 安装 gem?
正确执行此操作的实际命令是什么?
【问题讨论】:
标签: mysql ruby-on-rails ruby rvm bundler
既然您已经安装了 RVM,请为您的应用程序创建一个 gemset。这将仅隔离该应用程序的 gem,而不会影响系统的其余部分。
rvm gemset create appname && rvm gemset use appname
完成此操作后,手动或通过捆绑程序安装不带 sudo 的 gem,确保隔离。
【讨论】:
一旦您进入应用程序目录,并按照 Srdjan 所述创建 gemset 后,您有两个选择。要么运行:
gem install mysql
或将此行添加到您的 Gemfile:
gem 'mysql'
将该行添加到 Gemfile 后,运行:
bundle install
编辑
您必须通过database.yml 文件为您的每个环境(开发、登台和生产)配置数据库。应该是这样的:
development:
adapter: mysql
database: name_of_your_database
encoding: utf8
host: localhost
username: root (replace with the actual username)
password: root (replace with the actual password)
设置完成后,您可以添加migrations 以将表添加到您的数据库中。如果这是一个遗留数据库,您可能需要从中生成一些模型。为此,您可以使用legacy_database gem。
您不必自己处理与数据库的连接,Rails 会为您完成。要访问您的表并查询它们,您可以使用 ActiveRecord 方法。
例如,假设您有一个名为 users 的表,并且您需要通过 id 查找用户,您可以这样做:
user = User.find(id)
阅读documentation 以开始使用 Active Record 进行查询。
【讨论】:
要安装并运行 MySQL,您需要做一些事情:
mysql_config 或mysql_config5 二进制文件gem 'mysql' 在您的Gemfile 中列出
一旦你把所有这些都准备好了,就应该使用例程非常干净地组合在一起:
bundle install
【讨论】:
-devel 包中提供的。