不得不感慨的是,学习一门语言其实是学习一个技术栈,包括语言的本身、基于该语言的常用组件、基于该语言的基础框架和该语言的常用场景示例。其实这一切都是很有趣的事情,但是学习这些有意思的东西时候肯定不止是看看书籍或文章那么简单,我们需要实践。实践的重要部分就是准备学习环境,对环境的熟悉程度实际上也很大程度的标识着对该技术栈的掌握程度。
说了一堆废话,其实不就是在Windows7下装了个Ruby2的MySQL的连接gem嘛?但是真的是要感慨一下,被这东西折腾了3个多小时,极大的妨碍了学习Ruby的进程。
一 环境说明
1 安装的环境
1).Windows7 x64 Ultimate
2).Mysql5.6 x64 5.6.10.1
3).Ruby2 x64 2.0.0-p247
4).DevKit x64 4.7.2
2 Ruby2.0和DevKit 安装说明
2.1) 在ruby官网 http://rubyinstaller.org/downloads/ 下载Ruby2.0和DevKit的安装包,比如:rubyinstaller-2.0.0-p247-x64.exe和DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe。
2.2) rubyinstaller-2.0.0-p247-x64.exe直接双击运行,安装好可以在命令行用ruby -v检查是否安装成功,如果显示版本号就对了。
2.3) 双击下载的7z文件:DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,指定解压路径,路径中不能有空格。如C:\DevKit,这个路径就是<DEVKIT_INSTALL_DIR>。
> cd <DEVKIT_INSTALL_DIR> > ruby dk.rb init #生成config.yml,这里会检查将要添加DevKit支持的Ruby列表,只支持通过RubyInstaller安装的Ruby #如果这里列出的Ruby与你的要求不符,可以手动修改,注意配置参数 “ - C:/Ruby2”中-前后的空格 > ruby dk.rb review #检查要添加DevKit支持的Ruby列表是否有误,可以略过 > ruby dk.rb install [INFO] Updating convenience notice gem override for 'C:/Ruby2' [INFO] Installing 'C:/Ruby2/lib/ruby/site_ruby/devkit.rb'
检查是否安装成功:
> gem install rdiscount --platform=ruby Fetching: rdiscount-1.6.8.gem (100%) Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... Successfully installed rdiscount-1.6.8 1 gem installed Installing ri documentation for rdiscount-1.6.8... Installing RDoc documentation for rdiscount-1.6.8...
如果能安装rdiscount成功说明安装DevKit成功。最后需要将DevKit的<DEVKIT_INSTALL_DIR>\bin加入到环境变量的Path中。
具体参考:https://github.com/oneclick/rubyinstaller/wiki/development-kit
二 mysql和mysql2安装过程
1. 从mysql官网 http://dev.mysql.com/downloads/connector/c/ 下载mysql-connector-c-noinstall-6.0.2-winx64.zip,该包下的libmysql.dll 文件是MySQL的动态链接库文件,缺少此文件数据库无法正常工作。
1.1) 这里需要下载6.0版本,将该文件解压到相应目录,例如:c:\mysql-connector-c 。
1.2) 从 c:\mysql-connector-c\lib 中拷贝libmysql.dll到ruby/bin文件夹
2. 由于mysql-connector-c中的 libmysql.lib 不与mingw64-gcc编译器兼容,所以需要生成mingw64兼容libmysql.lib文件。
具体原因参考:https://bugs.ruby-lang.org/issues/8591
下载需要的工具,主要是gendef.exe,这个应用从 https://structure-svm-map.googlecode.com/files/svm-map-win.zip 下载。
2.1) 解压该文件,拷贝gendef.exe到devkit/mingw/bin下。所以拷贝到这里,是因为dlltool.exe也在这里,都放到path里方便。
2.2) 打开cmd, 进入 C:\mysql-connector-c\lib,依次运行如下命令:
#生成libmysql.def文件 gendef.exe libmysql.dll #生成新的lib了 dlltool -v --dllname libmysql.dll --def libmysql.def --output-lib libmysql.lib
3. gem安装mysql和mysql2
#mysql gem install mysql --platform=ruby -- --with-opt-dir=C:/mysql-connector-c #mysql2 gem install mysql2 --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c
安装过程过程中可能会碰到相应的问题,可以参考这里:
mysql安装参数问题:http://stackoverflow.com/questions/17673612/installing-mysql-ruby-gem-in-windows-fails-using-ruby-2-0-0
mysql2安装参数问题:http://stackoverflow.com/questions/19014117/ruby-mysql2-gem-installation-on-windows-7
编码问题“unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/mysql/mysql_api.so, skipping”:http://stackoverflow.com/questions/4917859/ruby-error-utf-8-to-ascii
相关推荐
ruby 连接mysql的gem安装包
1.安装gem,进入gem文件夹,里面有个setup文件,直接双击就行了。 2.进入rails目录使用gem命令安装(这一步必须要上...3.复制libmySQL.dll到ruby的安装目录的bin文件夹下,然后使用gem安装mysql-2.7.3-x86-mswin32.gem.
A simple, fast Mysql library for Ruby, binding to libmysql Gemfile entry -- gem 'mysql2', '0.3.16' Install with GEM -- gem install mysql2 --version 0.3.16
Ruby 连接数据库资源汇总。包括有:Ruby连接Mysql,oracle,postgreSQL,sqlite等包.还有ruby/DBI. 有GEM包,也有源代码包。
(4)安装mysql gem install mysql2 创建项目: rails new webapp -d mysql rails server #启动服务 rails generate scaffold hello rails generate scaffold Post name:string title:string content:text rake ...
解决 Rails bundle 安装不上 mysql gem包的问题 环境 ubuntu 12.04 ruby-2.1.1 首先 新建一个的一个项目,在该项目上执行 bundle install 提示 代码如下: … Make sure that gem install mysql2 -v ‘0.3.16’; ...
预编译的非常简单的 gem,适用于Amazon Linux 1和2(Ruby 2.5和2.7),具有静态链接的libmysqlclient用于任何AWS Lambda用法,包括Rails。 gem 'mysql2-lambda' 的一系列开源项目的 详细信息包括: 在Ruby 2.5.x...
Ruby 的现代、简单且非常快速的 Mysql 库 - 绑定到 libmysql Mysql2 gem 旨在服务于连接、查询和迭代结果的极其常见的用例。那里的一些数据库库作为已经很复杂的可用 C API 的直接 1:1 映射。这个不是。
Mysql2-一个用于Ruby的现代,简单且非常快速MySQL库-绑定到libmysql Travis CI Appveyor CI Mysql2 gem旨在为连接,查询和迭代结果的极为常见的用例提供服务。 某些Mysql2-一个现代,简单且非常快速的Ruby MySQL库-...
mysql2psql 是一个 Ruby 的扩展用来将 MySQL 数据迁移到 PostgreSQL 数据库。 安装方法:gem install mysql2psql
– c:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so 实际上是找不到连接所需的dll文件:libmySQL.dll 在mysql安装目录下的bin目录下将此文件复制到ruby的bin目录下即可解决此问题. ...
安装 $ gem install mysql_yearweek示例用法 > require mysql_yearweek=> true> MySQLYearweek.yearweek(Date.new(2013, 07, 25))=> "201330"> MySQLYearweek.yearweek(Date.new(2013, 07, 25), 2)=> "201329"限制这...
使用步骤: 设置 Amazon S3 账户: : 安装 aws/s3 Ruby gem: : 将 settings-sample.rb 重命名为 settings.rb 在 settings.rb 中,填写特定的命令路径、您的 Amazon API 凭证、MySQL 登录信息和数据库以及您要备份...
sudo gem 安装发票 状态¶ ↑ 到目前为止,Ruby Invoicing Framework 已经通过 ActiveRecord 2.2.2、MySQL 5.0.67 和 PostgreSQL 8.3.5 进行了测试。 我们将很快在更广泛的版本中对其进行测试。
master分支支持的最低Ruby版本是2.1.7 ,下一个发行版将具有相同的要求。 使用经过修改的Rails database.yml配置,您可以将mysql-to-postgres集成到项目中。 安装 当前失败,请参阅#81 ... 通过RubyGems gem ...
sqlite2mysql安装gem install sqlite2mysql不要在您的项目中包含它,这不是它的目的。 这是一个命令行工具。用法像这样运行: sqlite2mysql test.db这将在mysql中创建一个名为testdb的数据库,该数据库具有与test.db...
gem 'mysql2_query_filter' 然后执行: $ bundle 或者自己安装: $ gem install mysql2_query_filter 用法 require 'mysql2_query_filter' class MyFilter < Mysql2QueryFilter :: Base def filter ( sql...
在此目录中,您将找到能够将Ruby库打包为gem所需的文件。 将您的Ruby代码放在文件lib/mysql_index_checker 。 要试验该代码,请运行bin/console进行交互式提示。 待办事项:删除此内容和上面的文字,并描述您的...
mysqlconn-mysql连接助手 将mysql连接凭据存储在简单,安全的配置文件中。 然后,可以将许多目标与您指定的db_key一起使用。 您还可以针对所选名称运行脚本文件。 为安全起见,设置了mysql提示符。 指示 安装: gem...
给您二进制mysqlexport和ruby类Mysqlexport::Csv将mysql表导出到csv文件中。 安装 将此行添加到您的应用程序的Gemfile中: gem 'mysqlexport' 然后执行: $ bundle install 或自己安装为: $ gem install mysql...