================================= Ruby on Rails 开发 ================================= Ubuntu10.04下搭建RoR3.0开发环境 ----------------------------------- #. 安装ruby1.9.2 最新版的ruby1.9.2, 可以在这里下载到 *ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p180.tar.gz*, 我安装时使用的是 ruby-1.9.2-p0 由于官方建议rails3使用ruby1.9.2, 但是并没有提供ruby1.9.2安装包, 所以需要自己编译源包 .. code-block:: bash tar jxvf ruby-1.9.2-p0.tar.bz2 cd ruby-1.9.2-p0 ./configure –prefix=/usr/local/ruby make make test sudo make install 可以通过 -prefix=/xxx/xxx 来指定将源码编译安装到什么地方 #. 将安装好后的ruby添加到环境路径中 编辑 *sudo vi /etc/profile* 文件,在其中添加如下内容 .. code-block:: bash export RUBY_HOME=/usr/local/ruby export PATH=$RUBY_HOME/bin:$PATH 执行 *sudo source /etc/profile* 使路径生效 #. 为 *ruby* 和 *gem* 建立符号链接 进入 /usr/bin 目录,执行下面的命令 .. code-block:: bash sudo ln -s /usr/local/ruby/bin/ruby ruby sudo ln -s /usr/local/ruby/bin/gem gem #. 安装rails .. code-block:: bash sudo gem install rails --pre 通过 gem 安装 rails 需要的时间比较久,要耐心等待一会儿 #. 安装 sqlite .. code-block:: bash sudo apt-get install libsqlite3-dev sudo apt-get install sqlite3 sudo gem install sqlite3-ruby #. 安装zlib .. code-block:: bash sudo apt-get install zlib1g-dev 进入 **RUBY_SOURCE_HOME** /ext/zlib .. code-block:: bash ruby extconf.rb make sudo make install #. 安装openssl .. code-block:: bash sudo apt-get install openssl sudo apt-get install libssl-dev sudo apt-get install libopenssl-ruby1.9.1 进入 **RUBY_SOURCE_HOME** /ext/openssl .. code-block:: bash ruby extconf.rb make sudo make install #. 安装readline .. code-block:: bash sudo apt-get install libreadline6-dev sudo apt-get install libncurses5-dev 进入 **RUBY_SOURCE_HOME** /ext/readline .. code-block:: bash ruby extconf.rb make sudo make install #. 使用 rails 创建web应用并测试是否安装成功 .. code-block:: bash rails new app cd app/script rails server 如果出现了包含 *http://0.0.0.0:3000* 的提示信息,则RoR3.0安装成功了,Conguratulations! Ubuntu下Ruby1.9.2 rake 出错的解决办法 ---------------------------------------------------------------------------- 今天在刚搭建好的ROR3环境上执行 *rake db:create* 时,提示如下错误: .. code-block:: guess /usr/local/lib/ruby/1.9.1/rubygems.rb:340:in bin_path': can't find executable rake for rake-0.8.7 (Gem::Exception) from /usr/local/bin/rake:19:in' 在stackoverflow找到如下解决方案(假设已经正确安装了gem,并且gem list 中有rake): #. 删除gems的specifications文件夹下的 rake.gemspec 文件 以我电脑上的gem为例: .. code-block:: guess sudo rm /usr/local/ruby/lib/ruby/gems/1.9.1/specifications/rake-0.8.7.gemspec #. 执行 bundle install .. code-block:: guess bundle install 执行完上面两步后再调用rake命令,是不是发现已经好了?^_^