mac上搭建ruby mysql rails环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 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
目录
相关文章
|
5月前
|
关系型数据库 MySQL 数据安全/隐私保护
Mac安装Mysql5.7
Mac安装Mysql5.7
159 5
|
5月前
|
关系型数据库 MySQL 数据库
【Mac os系统】安装MySQL数据库
本文详细介绍了在Mac OS系统上安装MySQL数据库的步骤,包括下载、安装、配置环境变量、启动服务、授权设置以及解决常见问题,并提供了一些常用的MySQL命令。
365 0
【Mac os系统】安装MySQL数据库
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
203 3
|
2月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
98 3
|
2月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
464 1
|
4月前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
121 5
 如何在Mac上安装多个Python环境
|
3月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
77 2
|
4月前
|
数据采集 中间件 关系型数据库
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
Mac系统通过brew安装mysql5.7后,启动报错的解决办法
216 2
|
4月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
PyTorch TensorFlow 算法框架/工具
手把手教你-MAC笔记本安装Pytorch环境
手把手教你-MAC笔记本安装Pytorch环境
148 0