mac上搭建ruby mysql rails环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

安装前的准备:


Mac OS X 10.4 (Tiger)
2 开发工具 – Xcode2.0 或者更高版本 (预置机器里没有被安装!)在系统盘cd1里可以找到安装文件,如果没有则可以去 apple developer connection  下载最新版本。
3 热衷于使用UNIX命令行
4 一瓶娃哈哈,或者其他健康&&好喝的饮料

预设路径(非常重要):


Mac  OS X  的命令行程序Terminal存在于/Application/Utilities 文件夹里
双击打开Terminal,输入:
nano ~/.bash_login

(nano是terminal内置的文本编辑器,编辑完毕后使用”control+o”存盘或者”control+b”推出并存盘。此外,也有许多人使用 textmate coda subethaedit 或者 BBedit 等等。这些编辑器都可以支持命令行激活。)
若没有,将以下移行输入到.bash_login里
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

如果安装了macport或者fink这样的软件,.bash_login可能已被输入了类似的
PATH="...:$PATH"

现在以及以后如果出现这样的情况,将PATH里未被定义的路径直接加入里面,并用 “:” 隔开。比如:
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
中加入
PATH="/usr/opt/bin:/usr/opt/sbin:$PATH"
则变为:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/opt/bin:/usr/opt/sbin:$PATH"

安装前设置:


双击打开Terminal,输入:
sudo mkdir -p /usr/local/install
sudo chgrp admin /usr/local/install
sudo chmod -R 775 /usr/local/install
cd /usr/local/install

install文件夹将用来存放所有的临时文件,建议不要在安装结束后立即删除。一旦安装出错,我们可以从安装文档的记录文件查到错误信息。

安装Ruby:


在install文件夹里,建议将每行代码在每次系统输出之后拷贝+复制到terminal窗口里,这样更为方便。
在安装ruby之前,我们首先需要做下准备工作——安装readline:
curl -O [url]ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz[/url]
tar xzvf readline-5.2.tar.gz
cd readline-5.2
./configure --prefix=/usr/local
make
sudo make install
cd ..

如果在安装过程中输入 ./configure 一行后出现下列信息:
checking whether make sets $(MAKE)... no
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH

这表示你没有按照安装手记进行安装并且没有安装Xcode2.0

下一步我们开始安装ruby 1.8.6
curl -O [url]ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz[/url]
tar xzvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure --prefix=/usr/local --enable-pthread --with-readline-dir=/usr/local --enable-shared
make
sudo make install
sudo make install-doc
cd ..

如果看到许多文字流上去而没有出现错误,代表ruby安装成功了。
验证ruby安装我们输入:
ruby -v

应当显示类似:
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1]

如果显示仍然是:
ruby 1.8.2 (2004-12-25)

显示的是MacOsX预装的ruby版本,代表ruby1.8.6安装不成功,检查.bash_login并且重新启动terminal。

RubyGems


RubyGem是类似apt-get或fink这样的软件包管理软件,通过rubygem可以轻易安装或卸载所有使用ruby开发的软件包
curl -O [url]http://files.rubyforge.mmmultiworks.com/rubygems/rubygems-0.9.4.tgz[/url]
tar xzvf rubygems-0.9.4.tgz
cd rubygems-0.9.4
sudo /usr/local/bin/ruby setup.rb
cd ..

Ruby an Rails 1.2.3


可以通过rubygems直接安装:
sudo gem install rails --include-dependencies

如果出现类似:
/usr/local/bin/gem:3:in `require': No such file to load -- rubygems (LoadError)
from /usr/local/bin/gem:3

Gem无法找到设置文件,代表初始路径PATH设置不正确。

Mongrel


Mongrel是整合了ruby  HTTP 库的独立服务器程序。
使用rubygems:
sudo gem install mongrel --include-dependencies

安装过程中会出现对话框要求选择你的开发平台,类似以下:
Select which gem to install for your platform
1. mongrel 1.0.1 (ruby)
2. mongrel 1.0.1 (mswin32)
3. mongrel 1.0 (mswin32)
4. mongrel 1.0 (ruby)
5. Skip this gem
6. Cancel installation

所有的对话框都应当选择最靠上并且旁边附带ruby的选项,所以这个对话框中应当选择”1” 

SubVersion


这是由Jeremy Whitlock维持的SVN安装包,针对Mac操作系统优化并包括ruby bindings。
最新版本可以去这里下载:
svn download page

Capistrano


Capistrano是将rails程序的发布步骤自动化的软件,可以使用自己编写的‘rake 菜单’(recipe)来调整不同服务器的发布脚本。
sudo gem install capistrano --include-dependencies

另外termios工具可以阻止在capistrano在发布过程中显示管理员密码
sudo gem install termios --include-dependencies

若在你的项目使用capistrano,在项目的根目录里输入:
cap --apply-to .

这样会建立config/deploy.rb和部分rake的脚本。

MySQL


MySQL安装包直接将MySQL安装到/usr/local/文件夹里,使我们不必在本机上重新编译,省去了许多时间。
1. 下载 mysql 5.0(intel mac)
2. 双击安装包 mysql-5.0.41-osx10.4-i686.pkg
3. 安装MySQL startup item pkg
4. 安装MySQL.prefPane
安装结束之后,在开始任何事情之前,运行:
mysqladmin -u root password a_good_password

设定管理员密码,如果没有设置密码则默认为空。
许多苹果开发人员都喜欢小用一下 Cocoa MySQL。这个软件提供了MySQL的图形用户界面
在这里下载: Cocoa MySQL
针对于MySQL的默认设置,启动Cocoa MySQL以后在Host填入localhost, User里填入root就可以找到自己的运行中的数据库了。

MySQL Native Binding


我在安装的时候遇到一些麻烦,网络上也有许多的安装方法。在此我将给出我机器安装成功的方法,稍后我会补充一些相应的其他网站的教程作为比较。
curl -O [url]http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.tar.gz[/url]
tar xzvf mysql-ruby-2.7.3.tar.gz
cd mysql-ruby-2.7.3
ruby extconf.rb --with-mysql-config
make
sudo make install
cd ..

如果出现错误,尝试:
curl -O [url]http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.tar.gz[/url]
tar xzvf mysql-ruby-2.7.3.tar.gz
cd mysql-ruby-2.7.3
ruby extconf.rb
make
sudo make install
cd ..

这样MySQL binding应该运行无误了。
如果在运行rake db:migrate中依然出现以下错误:
$ rake db:migrate
(in /Users/jeremy/rails/depot)
dyld: NSLinkModule() error
dyld: Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.
15.dylib
Referenced from: /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/
mysql.bundle
Reason: image not found
Trace/BPT trap

则运行:
cd /usr/local/mysql/lib
sudo mkdir mysql
Password: *************
cd mysql/
sudo ln -s ../libmysqlclient.15.0.0.dylib libmysqlclient.15.0.0.dylib
sudo ln -s ../libmysqlclient.15.0.0.dylib libmysqlclient.15.dylib
sudo ln -s ../libmysqlclient.15.0.0.dylib libmysqlclient.dylib

安装结束


饮料基本也喝完了,现在你拥有了一套自己搭建的Ruby&&Rails开发环境!
运行以下程序
rails testapp
cd testapp
./script/server

一切顺利之后,我们会有下列输出
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on [url]http://0.0.0.0:3000[/url]
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel available at 0.0.0.0:3000
** Use CTRL-C to stop.

打开浏览器输入localhost:3000,把你朋友叫来告诉他,Here is the red pill..




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/73168,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
关系型数据库 MySQL 数据安全/隐私保护
Mac安装Mysql5.7
Mac安装Mysql5.7
128 5
|
3月前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
104 5
 如何在Mac上安装多个Python环境
|
3月前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
161 2
|
2月前
|
PyTorch TensorFlow 算法框架/工具
手把手教你-MAC笔记本安装Pytorch环境
手把手教你-MAC笔记本安装Pytorch环境
90 0
|
3月前
|
JavaScript Linux Android开发
mac环境下搭建frida环境并连接网易mumu模拟器
这篇文章介绍了如何在mac环境下搭建Frida环境,并详细说明了如何连接网易MuMu模拟器进行动态分析。
236 1
|
2月前
|
Linux C语言 iOS开发
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
48 0
|
4月前
|
前端开发 测试技术 数据库
使用Ruby on Rails进行快速Web开发的技术探索
【8月更文挑战第12天】Ruby on Rails以其高效、灵活和易于维护的特点,成为了快速Web开发领域的佼佼者。通过遵循Rails的约定和最佳实践,开发者可以更加专注于业务逻辑的实现,快速构建出高质量的Web应用。当然,正如任何技术框架一样,Rails也有其适用场景和局限性,开发者需要根据项目需求和个人偏好做出合适的选择。
|
4月前
|
前端开发 测试技术 API
揭秘Ruby on Rails的神秘力量:如何让你的Web应用飞起来?
【8月更文挑战第31天】Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web应用框架,自2005年发布以来,因简洁的语法、强大的功能和高效的开发效率而广受好评。RoR采用MVC架构,提高代码可读性和可维护性,拥有庞大的社区和丰富的库支持。本文通过示例代码展示其强大之处,并介绍RoR的核心概念与最佳实践,帮助开发者更高效地构建Web应用。
57 0
|
4月前
|
前端开发 API C++
在Ruby世界中寻找你的Web框架灵魂伴侣:Rails vs Sinatra
【8月更文挑战第31天】在Ruby的世界里,选择Web框架如同挑选衣物,需根据场合和需求。Rails与Sinatra是两大热门框架,前者以其“约定优于配置”理念和全面的功能成为企业级应用的首选;后者则以轻量级和灵活性著称,适用于快速原型开发和小规模应用。通过对比两者特性,如Rails的MVC架构与Sinatra的简洁API,我们可以看到它们各有所长。选择合适的框架,如同找到旅途中的最佳伙伴,让开发之路更加顺畅愉悦。这场探索之旅教会我们,没有绝对的好坏,只有最适合的选择。
45 0
|
4月前
|
安全 前端开发 数据安全/隐私保护
如何在Ruby on Rails中打造坚不可摧的OAuth认证机制
【8月更文挑战第31天】在构建现代Web应用时,认证与授权至关重要。本文介绍如何在Ruby on Rails中实现OAuth认证,通过使用`omniauth`和`devise` gems简化流程。首先安装并配置相关gem,接着在`User`模型中处理OAuth回调,最后设置路由及控制器完成登录流程。借助OAuth,用户可使用第三方服务安全地进行身份验证,提升应用安全性与用户体验。随着OAuth标准的演进,这一机制将在Rails项目中得到更广泛应用。
62 0