Displaying articles with tag

在DreamHost上安装Ruby、Gems与Rails的最简单方法之续

Posted by leeseon, Sat May 10 18:03:00 UTC 2008

昨天只是泛泛谈了一下在DreamHost上安装Ruby、Gems与Rails的最简单方法 似乎有点 意犹未尽,决定写个续集,呵呵:)

好吧从哪儿说起呢?嗯,看我注释过的脚本吧,注释应该已经算是说得比较明白了,无它!

  • #修改.bash_profile,设置环境变量GEM_HOME与GEM_PATH
  • #并将~/.gems/bin与~/local/bin加入到查找路径的前端
  • echo  'export GEM_HOME="$HOME/.gems"'  >> .bash_profile
  • echo  'export GEM_PATH="$GEM_HOME:/usr/lib/ruby/gems/1.8"'  >> .bash_profile
  • echo  'export PATH="$HOME/.gems/bin:$PATH"'  >> .bash_profile
  • echo  'export PATH="$HOME/local/bin:$PATH"'  >> .bash_profile
  •   
  • #执行.bash_profile使变量生效
  • . ~/.bash_profile
  • #显示PATH变量,仅仅只是为了测试
  • echo $PATH
  •   
  • #生成gems所需的目录及.gemrc文件,并填充相应内容
  • mkdir ~/.gems
  • touch ~/.gemrc
  • echo gemhome:/home/$(whoami)/.gems >> ~/.gemrc
  • echo gempath: >> ~/.gemrc
  • echo -/home/$(whoami)/.gems >> ~/.gemrc
  • echo -/usr/lib/ruby/gems/1.8 >> ~/.gemrc
  •   
  • # setup directories
  • mkdir -p ~/local/usr/src/ruby
  • cd ~/local/usr/src/ruby
  •   
  • # Install readline
  • wget ftp://ftp.cwru.edu/pub/bash/readline-5.2.tar.gz
  • tar zxvf readline-5.2.tar.gz
  • cd readline-5.2
  • ./configure --prefix=$HOME/local
  • make
  • make install
  • cd ..
  •   
  • # install ruby
  • wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz
  • tar zxvf ruby-1.8.6-p114.tar.gz
  • cd ruby-1.8.6-p114
  • ./configure --prefix=$HOME/local --with-readline-dir=$HOME/local/
  • make
  • make install
  • cd ..
  •   
  • # fix path
  • export PATH=$HOME/local/bin:$PATH
  •   
  • # get rubygems
  • wget http://rubyforge.org/frs/download.php/35283/rubygems-1.1.1.tgz
  • tar zxvf rubygems- 1.1.1.tgz
  • cd rubygems-1.1.1
  • $HOME/local/bin/ruby setup.rb config --prefix=$HOME/local
  • $HOME/local/bin/ruby setup.rb setup
  • $HOME/local/bin/ruby setup.rb install
  • cd ..
  •   
  • # Install RAILS
  • gem install rails
  •   
  • # Install FastCGI
  • curl -O http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
  • tar xzvf fcgi-2.4.0.tar.gz
  • cd fcgi-2.4.0
  • ./configure --prefix=$HOME/local
  • make
  • make install
  • cd ..
  •   
  • # Install FastCGI & MySQL gem packages
  • gem install fcgi -- --with-fcgi-dir=$HOME/local
  • gem install mysql -- --with-mysql-config

0 comments | Filed Under: | Tags:

在DreamHost上安装Ruby、Gems与Rails的最简单方法

Posted by leeseon, Fri May 09 21:47:00 UTC 2008

其实这篇帖子是一年前就应该写的,当时在DreamHost 上折腾了几天才搞定mephisto,花了两周才搞定depot例子加上gettext汉化的过程。不过人总是好了伤疤忘了痛,而且事后想想也觉得没有什么可说,就不了了之了。而且如今DreamHost也开始进行mod_rails的beta测试了,想来现在才写是有点不太合时宜噢。不过最近又在DreamHost上部署了几个rails应用,不免有也心烦,于是有了旧事重提,朝花夕拾一下的想法。

不过有一点要声明就是,其实在DreamHost上安装自己的gems其实是并不需要自己安装Ruby的,这两个过程是可以分开的,不过可能是我变态,总喜新厌旧,而且又狂有控制欲,那么大的空间为什么不装一个,而且还可以为ruby打上GC的补丁呢(其实也就是一想,补丁嘛我也没有打过:P,因为现在还用不上的)。

Ruby装起来很简单,wget一个,解包,编译,安装,将之放入你的路径中就好,不过最好是先编译一份readline为好,以免以后执行script/console会出错,这个不多说,能google出一堆。

Gems嘛,则需要你建一个本地的安装目录,通常为.gems,并告诉gems知道这个目录的存在,为了这一点你就需要有~目录下生成一个.gemrc的文件,并将你的目录告诉它就好了。当然你也可以如我一样,编译一份最新的rubygems,并将之放入你的查找路径之中就好。

然后你还需要修改rails的disptch.fcgi文件,让它知道你的ruby与gems目录所在就好。当然其实你也可以使用GemsOnRails 将所有用到的gems放在vendor下,这个就自然不需要自己安装Gems了(rmagick之类的除外)。

好了,言归正传吧,何以言之我的方法最简单呢?其实是受了tobi 的启发,将所有的安装命令写成一个脚本然后直接执行它就好。不过与他不同的一点是,我在脚本上增加了GEM_HOME与PATH之类的添加与.gemrc文件的生成,真的是一站式搞定。如果你不太懂linux,那你有福了,当然如果你是linux高手,那就让我怡笑大方吧:(

其实这条命令就是


curl http://leeseon.com/private/allinstall.sh | sh

而已,还算简单吧,嘿嘿

不过在这之后你的dispatch.fcgi文件还需要将第一行改成,(dispatch.rb也最好改一下,虽然我发现不改也行)


#!/home/your user name/local/bin/ruby

并在require语名之前加上


ENV['RAILS_ENV'] = 'production'
ENV["GEM_HOME"]="/home/your user name/.gems" 
ENV["GEM_PATH"]="/home/your user name/.gems:/usr/lib/ruby/gems/1.8" 

OK,万事搞定,试试吧!

注:我安装的是现在最新版本的ruby-1.8.6-p114与rubygems-1.1.1 这个以后会不定时的更新为最新版本

0 comments | Filed Under: | Tags: