Ruby系列文章之8 ---OS X 10.8.1 系统 用Homebrew + RVM 安装和管理ruby的经典方式

来源:互联网 发布:js统计点击次数 编辑:程序博客网 时间:2024/04/29 05:03


本文章为菲利克斯猫(Felix.mao) 原创,转载务必在明显处注明:
原文链接:http://blog.csdn.net/maojudong/article/details/7925043


首先在OS X 10.8 系统上安装Homebrew:请参考文章Ruby系列文章之6 ---HomeBrew的安装和简单使用 http://blog.csdn.net/maojudong/article/details/7918291


第一步:安装一些必要的开发工具(可选)

$brew installwget node imagemagick ack curl colordiff nginx sqlite libxml2 libxslt readline v8 sphinx xz geoip lzo   automake


安装数据库MYSQL,rails系统默认用的sqllite3 数据库系统,后面文章会专门有一篇讲解如何配置mysql的

$brew install mysql

安装过程中有一些重要提示信息,需要认证的看下

配置数据库

$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp


这里暂时不测试mysql是否安装成功,后面文章会专门有一篇讲解如何配置mysql的

当然数据库也可以选择其他的,例如

postgresql 

mongodb


用 brew install 安装的时候,brew会从网络下载,然后安装,如果你的网络不给力,或是下载不到,你可以将指定的

包自己手动下载下来,然后放到/Library/Caches/Homebrew/ 目录中

例如我的:

/Library/Caches/Homebrew/libxml2-2.8.0.tar.gz

/Library/Caches/Homebrew/libxslt-1.1.26.tar.gz

/Library/Caches/Homebrew/libyaml-0.1.4.tar.gz


然后在重新安装就可以了



第二步:安装RVM和配置RVM

$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )


或者

curl -L get.rvm.io | bash -s stable  官网的方法

get.rvm.io网址其实会跳转到https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer 网址,所以两种方式是相同的


上图吧



可以看到系统帮我们添加了. bashrc 文件(之前我并没有这个文件,之前我只用了一个.profile文件,你的可能是只有.bashrc文件),自动添加的内容为

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 设置了rvm命令的工具到PATH中

再看上面的截图,如果要启动rvm系统,需要执行

source /Users/maojudong1984/.rvm/scripts/rvm


我不需要.bashrc ,也暂时不需要.zshrc 文件,所以将里面的内容

复制到 .profile 文件中,但是有些小变动 ,最后在我的.profile文件中加入如下内容,然后删除.barhrc 文件

PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function


设置好后,重启终端


Last login: Wed Aug 29 21:29:09 on ttys000

$ which rvm

/Users/maojudong1984/.rvm/bin/rvm


可以看到系统已经启用了rvm命令



第三步:用RVM安装ruby

如果通过brew直接安装了ruby,而不是通过rvm来安装的,需要间的的更改下PATH变量,根据第二步设置.profile文件,加入下面内容(同第二步)

PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function


安装前说下我的环境 OS X 10.8.1 + XCODE4.4.1(已经安装了外部编译器)  

所以编译器是llvm-gcc-4.2


 $ ls -l /usr/bin/gcc

lrwxr-xr-x  1 root  wheel  12  8 24 04:25 /usr/bin/gcc -> llvm-gcc-4.2


$ll /usr/bin/llvm*

lrwxr-xr-x  1 root  wheel    32B  8 24 04:26 /usr/bin/llvm-cpp-4.2@ -> ../llvm-gcc-4.2/bin/llvm-cpp-4.2

lrwxr-xr-x  1 root  wheel    32B  8 24 04:26 /usr/bin/llvm-g++@ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2

lrwxr-xr-x  1 root  wheel    32B  8 24 04:26 /usr/bin/llvm-g++-4.2@ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2

lrwxr-xr-x  1 root  wheel    32B  8 24 04:26 /usr/bin/llvm-gcc@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2

lrwxr-xr-x  1 root  wheel    32B  8 24 04:26 /usr/bin/llvm-gcc-4.2@ -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2



安装1.9.3的提示信息

$ rvm install 1.9.3


有一段提示信息,看完提示信息后(应该好好的看看这段提示信息,很有价值哦),按q键可以继续安装


提示信息(我加了中文的提示信息)

For JRuby:  Install the JDK. See http://developer.apple.com/java/download/  # Current Java version "1.6.0_26"For IronRuby: Install Mono >= 2.6For Ruby 1.9.3: Install libksba # If using Homebrew, 'brew install libksba'   第一个重要提示To use an RVM installed Ruby as default, instead of the system ruby:    rvm install 1.8.7 # installs patch 357: closest supported version    rvm system ; rvm gemset export system.gems ; rvm 1.8.7 ; rvm gemset import system.gems # migrate your gems    rvm alias create default 1.8.7And reopen your terminal windows.Xcode and gcc:Right now Ruby requires gcc to compile, but Xcode 4.2 and later no longer ship with gcc. Instead they ship with llvm-gcc (to which gcc is a symlink) and clang, neither of which are supported for building Ruby. Xcode 4.1 was the last version to ship gcc, which was /usr/bin/gcc-4.2.Xcode 4.1 and earlier: - Ruby will build fine.Xcode 4.2 and later (including Command Line Tools for Xcode):- If you have gcc-4.2 (and friends) from an earlier Xcode version, Ruby will build fine. 再起Xcode版本- If you don't have gcc-4.2, you have two options to get it: * Install apple-gcc42 from Homebrew //从homebrew安装 apple-gcc42    第二个重要提示,我安装是这个 * Install osx-gcc-installer //github上的项目 ,也可以用gcc的另外一个版本,好像在10.8系统上有小bug  Homebrew:  If you are using Homebrew, you can install the apple-gcc42 and required libraries from homebrew/dupes: 第三个重要提示      brew update      brew tap homebrew/dupes      brew install autoconf automake apple-gcc42 安装编译器,不过,我没有安装也成功编译了,暂时不解,我的XCODE4.4.1 版本      rvm pkg install openssl下载地址http://r.research.att.com/tools/gcc-42-5666.3-darwin11.pkg  This can live side by side with an existing Xcode 4.2+ install or Command Line Tools for Xcode.另一种安装方式:  osx-gcc-installer:  If you don't use Homebrew, you can download and install osx-gcc-installer: https://github.com/kennethreitz/osx-gcc-installer.  Warning: Installing osx-gcc-installer on top of a recent Xcode is known to cause problems, so you must uninstall Xcode before installing osx-gcc-installer. Afterwards you may install Xcode 4.2+ or Command Line Tools for Xcode if you desire.  ** NOTE: Currently, Node.js is having issues building with osx-gcc-installer. The only fix is to install Xcode over osx-gcc-installer.Press 'q' to continue.


上一个我的安装截图吧



根据提示信息:依次安装

$ brew install libksba
      
$ brew update
$ brew tap homebrew/dupes
$ brew install autoconf automake apple-gcc42
$ rvm pkg install openssl


安装过程中的错误,通过gem update --system 自我安装来解决




第四步: 安装rails等框架

$gem install rails bundler unicorn pg 


耐心等待一段时间,会安装一系列相关的软件

到此为止,基本安装完成


下面验证下安装的rails 是不是可以使用

重启终端后

$ which rails
/Users/maojudong1984/.rvm/gems/ruby-1.9.3-p194/bin/rails
$ rails -v
Rails 3.2.8
$ which ruby
/Users/maojudong1984/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]

已经找到了rails


创建站点

$ rails new CHMrvmtest

$ cd   CHMrvmtest

$ rails s            启动服务



服务启动成功


rvm具体的使用方法

https://rvm.io/rubies/installing/


同上一篇文字一样,如果你想恢复到系统默认的ruby1.8.7 和系统默认的rails,只要在

.profile文件中将相应的代码注释掉即可



#PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function 


这样做的好处是:不破坏原有的苹果生态系统


好了,到此结束


本文章为菲利克斯猫(Felix.mao) 原创,转载务必在明显处注明:
原文链接:http://blog.csdn.net/maojudong/article/details/7925043



原创粉丝点击