设为首页 收藏本站
查看: 950|回复: 0

[经验分享] Ruby on Rails 在Wind7 64 上的安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-10 09:59:58 | 显示全部楼层 |阅读模式
Ruby on Rails 在window平台各种坑,配置过程相当痛苦。


预计安装内容:

mysql server
ruby 2.0.0
rails 4.0.2
mysql2 0.3.16

安装文件:
mysql官网:http://dev.mysql.com/downloads/windows/installer/
选择64位安装文件,下载安装

railsinstaller:http://www.railsinstaller.org/en
正式版的是1.9.3的ruby,但是有个alpha版的ruby2.0 ,所以选择安装这个测试版。
这个installer中包含ruby,rails,git,gem,sqlite等等内容,算是一键安装,非常方便。
wKioL1Q2OlmQmrjNAADha7T4kYE565.jpg

当然,单从ruby官网推荐学习的安装方式是先安装ruby,在安装gem,然后通过gem安装rails,这个也可以。但是之后再连接DB的时候会出现各种莫名其妙的问题。弃之。

安装成功之后,就可以new个project玩一下了。

mysql2安装
开发因为要使用mysql,所以DB要配置成mysql。(这里是悲剧开始的地方,呵呵)

用上面的railsinstaller安装的ruby是32位的。不知道是什么原因,直接安装mysql2会失败,还需要一个connector才行。
首先下载这个connector:http://dev.mysql.com/downloads/connector/c/  选择32位的zip包,不要用安装包。
下载之后解压,放到一个路径下,这个路劲最好没有中文没有空格。 执行安装命令:
gem install mysql2 -v '0.3.16' --platform=ruby -- '--with-mysql-dir="上面connector解压的路劲"'
比如我的是:
gem install mysql2 -v '0.3.16'  -- '--with-mysql-dir="C:\mysql-connector-c-noinstall-6.0.2-win32"'
这样就可以安装成功了。


安装成功之后,需要办connectPath/lib里面的libmysql.dll libmysql.lib这两个文件放到ruby/bin里面。

常用的命令:
gem install   
gem uninstall
gem list  列出gem中已安装的gem
gem update  更新
gem sources 查看gem使用的源

rails new projectname   --新建一个ROR project
rails server                     --启动rail  server,类似启动tomcat
rails generate scaffold   --新建脚手架,这个也是ruby好处1min建立一个blog的原因。
rails destory scaffold     --删除脚手架

bundle install
bundle update
bundle show                 --显示某个gem位置

(ps:看我列出来的命令,就知道我是个不能再初级的小白了。。。)

关于troubleshooting:
个人觉得rails的错误提示信息还是很强大的,如果出现问题,先看给出的信息是什么,一些通用额问题甚至给出解决方案。看信息很重要。

然后最强大的当然是google baidu了。

网络环境:
公司限网,还是使用代理上网,gem的相关操作都是在cmd里完成的,而且需要衔接外网获取gem 包。
在安装之前,最好先设置好代理:
set http_proxy=http://hostname:port
如果使用git做源码管理的话,也需要设置代理。  (网络自由是很重要的,呼吁解封google)


gem的默认源是国外的网站,不稳定,速度慢,一般都会改成taobao的镜像,貌似是15min同步一次。(http://ruby.taobao.org

显示当前使用的sources
gem sources

添加一个source
gem sources -a url地址

删除一个source
gem sources -r url地址

更新source cache
gem sources -u




--------------------------------------------------------------------------------------

安装上面的一步步下来,应该可以顺利运行一个project了。
我在配置环境的过程中遇到很多问题,
1 网络环境,公司环境需要代理,导致在线安装的各种失败。这个纠结了很久,本以为会自动使用IE的代理设置。
2 安装版本
一开始直接安装1.9.3的railsinstaller,这个里面的ruby是1.9.3的版本,项目用的2.0.0,。弃之,重新安装。却惊奇的发现正式版的installer没有2.0.0的。也没有看到网站的的小字里面提到的测试版。
然后就直接找了ruby2.0.0(64bit)的安装文件,安装之后,通过gem安装rails等其他东西。

ROR默认使用sqlite,一个开始没换成mysql的时候,玩的很顺利。然后着手换成mysql2。就卡住了。
先是配置,网上搜了各种教程,各种失败。
先是mysql2安装失败,bundle install失败,gem install mysql2 也失败。慢慢baidu的过程中知道需要connetor,然后就找了各种版本的connector来尝试。因为mysql安装的是64bit,就下载了64bit的安装版来试,还是不行。后来知道不用安装版,要用zip版,尝试尝试。换成32bit之后,还是有不行。虽然可以顺利安装mysql2,但在执行generate scaffold的时候,提示一个‘不是有效的可执行文件’的错误。至此,完全卡住。网上的很多解决方案提到出现这个问题的原因是32bit的ruby和64bit的mysql不兼容。我的ruby是64bit,我也尝试使用64bit的connector也不行。
ps: connector 也有版本之分,6.0.2和6.1.5,上面使用的6.1.5,有的时候需要6.0.2,安装mysql的有提示。
有的文章提到测试版railsinstaller,无路可走的情况下,卸载了本地的ruby rails,使用测试版的railsinstaller才有了上边的总结。

虽然初步解决问题,但是依然不知道根本原因是什么。
解决问题的思路也不够清晰,通常是各种解决方案绕在一起,混在一起尝试,导致最后不知道那个方案可以,那个方案彻底失败,哪个方案还需在尝试。
出现跟多问题的时候,一起解决,导致问题复杂化,也附加其他各种莫名问题。

-----------------------------------------------------------------------------------------------------------
问题依然存在,有个项目源码在我配置好的环境下依然不行。还是mysql2安装问题。

待续~






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25737-1-1.html 上篇帖子: 解决“无法安装64位版本的Office,因为在您的PC上找到了以下32位程序:”的问题 下篇帖子: 卸载VS2008后重新安装VS2005的苦难历程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表