2011-06-23 120 views
4

我很困惑于在轨道上使用ruby“轻松”工作,因为我已经花了三天的时间尝试创建一个应用程序。在轨道上创建新的应用程序红宝石

我工作site5托管,并尝试创建新的应用程序。一步一步:

$ rails new app -d mysql 

$ gem install mysql 

$ gem install mysql2 

$ rake db:create 

它报告有关错误

Could not find gem 'mysql2 (~> 0.2.6, runtime)' in any of the gem sources listed in your Gemfile.

我谷歌,但仍无法修复问题。任何人都可以帮忙吗?

+0

当你运行'宝石列表'你会发现列表中的MySQL宝石? – Srisa

+0

[email protected] [〜/的public_html/ab.awithy.ru /应用]#宝石列表的MySQL *** REMOTE GEMS *** MySQL的(2.8.1,2.7.3) 的MySQL-检查器( 0.0.6) 的MySQL-XML(0.1.1) mysql2(0.3.6,0.2.6) mysql2_bigint(0.2.6.1) mysql2_model(0.1.2) mysql2mysql(0.0.2) mysql2psql(0.1。 0) mysql2xxxx(0.1.1) mysql_backup(0.2.1) –

+0

这是否意味着,我有什么MySQL的宝石? –

回答

5

正在运行rails new app -d mysql会自动将所需的gem添加到您的Gemfile,因此您不需要使用gem命令手动安装它们。请尝试以下操作:

$ rails new app -d mysql 
$ cd app 
$ bundle install 
$ rake db:create 

我怀疑你正在遵循的教程是针对老版本的Rails。使用导轨3时,您应该使用bundler进行所有宝石管理。

+0

是的,谢谢!问题出在我的主机上,我应该输入$ bundle install vendor/bundle –

0

您是否尝试过运行gem install mysql2

如果不工作,请尝试以下this tutorial

它看起来像由缺少mysql的宝石所产生的问题。

Here是关于其安装的另一个问题。看看是否有任何解决方案也适用于您

+0

看上面,我已经试了$ gem install mysql。另外,我认为这个教程是为Windows创建的,但是我需要在远程Linux服务器上制作应用程序 –

+0

我编辑了我的答案,以便为您提供另一个灵感来源:) –

0

我遇到了类似的问题。 (我正在使用rvm)。我想我跑了一些代码,如:

libmysqlclient之后的数字可能不同。对于你来说路径也可能不同,但这个概念应该是相似的。

须藤install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib 〜/ .rvm /宝石/红宝石1.9.2-P136 \ @ rails3tutorial/gems /mysql2-0.2.7/lib/mysql2/mysql2.bundle

1

这就是你怎么做的。

gem list --local 

显示安装的宝石列表。你看到mysql2宝石吗?如果mysql2未安装运行

gem install mysql2 

您现在已准备好启动一个新的rails应用程序。转到所需的目录并运行

rails new my_app -d mysql 

这将在mysql绑定的目录my_app中创建一个新的rails应用程序。导航到应用程序目录,然后运行

rake about 

如果每一件事情是好的,你应该看到下面的

Database adapter   mysql2 

消防您喜欢的文本编辑器,然后转到配置/ database.yml的 通知有三个数据库,每一个用于开发,测试和生产。用户将是“根”,但没有密码。在所有三个地方输入root密码。您也可以更改用户。

下一个开放MySQL和创建三个数据库

mysql -u root -p 
create database my_app_production; 
create database my_app_test; 
create database my_app_development; 
exit 

在终端类型

rails generate scaffold TableName name:string due:date etc... 
rake db:migrate 

下一个... ...和你做。 希望这有助于。