如何在Ubuntu 10.10上安装Ruby on Rails 3.0?
安装Ruby和Ruby Gems之后:
$ sudo apt-get install ruby rubygems ... $ ruby -v ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux] $ gem -v 1.3.7
如果我尝试安装Rails,我会收到一个错误,即使它似乎只是文档,也没有安装rails
:
$ sudo gem install rails ... Successfully installed rails-3.0.1 24 gems installed ... Installing ri documentation for builder-2.1.2... ERROR: While generating documentation for builder-2.1.2 ... MESSAGE: Unhandled special: Special: type=17, text="" ... RDOC args: --ri --op /var/lib/gems/1.8/doc/builder-2.1.2/ri --title Builder -- Easy XML Building --main README --line-numbers --quiet lib CHANGES Rakefile README doc/releases/builder-1.2.4.rdoc doc/releases/builder-2.0.0.rdoc doc/releases/builder-2.1.1.rdoc --title builder-2.1.2 Documentation (continuing with the rest of the installation) ... Installing ri documentation for rails-3.0.1... File not found: lib $ rails -v The program 'rails' is currently not installed. You can install it by typing: sudo apt-get install rails
Ubuntu存储库只有Rails 2.3.5所以这不是一个选项。
如何让Rails正确安装?
更新:我尝试了以下,这次没有错误,但仍然没有成功:
$ sudo gem install rails --no-rdoc --no-ri Successfully installed rails-3.0.1 1 gem installed $ rails -v The program 'rails' is currently not installed...
更新2:所以,感谢Maran和Jörg,我现在知道问题不是没有安装rails
,而是它没有添加到PATH
。 这可以通过在~/.bashrc
添加以下内容来修复:
export PATH=/var/lib/gems/1.8/bin:$PATH
这提出了另一个问题:应该在PATH
添加什么? 大概是apt-get install rubygems
? 还有什么可能被打破?
我强烈建议您跳过Ubuntu软件包并使用RVM 。 安装过程非常简单并且记录在案 。 它上面还有一个Railscast 。
RVM将允许您安装多个版本并创建自定义gemsets(无依赖性问题)。 它非常值得,并且很快成为使用Ruby开发(和部署)的事实上的方式。
http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/ :
在任何情况下都不应该从apt-get安装Ruby,Rubygems或任何与Ruby相关的软件包。 该系统已过时,导致严重的问题。 避免使用与Ruby相关的包。
好吧,我犹豫是否使用rvm
因为它似乎旨在解决我不打算遇到的问题(多个ruby版本?来吧,我只想玩rails …)并且从源代码安装通常是我想避免……
无论如何,我放弃并跟随http://rvm.beginrescueend.com/rvm/install/
$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
然后(主要通过上面的输出建议,但我需要添加libmysqlclient-dev
):
$ sudo aptitude install build-essential bison openssl libreadline5 \ libreadline5-dev curl git zlib1g zlib1g-dev \ libssl-dev libsqlite3-0 libsqlite3-dev sqlite3 \ libxml2-dev libmysqlclient-dev
然后我根据需要编辑了我的.bashrc
并打开了一个新的终端。
$ rvm install 1.9.2 $ rvm --default use 1.9.2 $ ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] $ gem install rails $ rails -v Rails 3.0.1
在创建一个新项目之后,我还有一些事情可以让它工作:
$ rails new myproject --database=mysql $ cd myproject $ emacs config/database.yml # set passwords $ bundle install $ rake db:create $ rails server
最后这一切似乎都在起作用。 我希望能够帮助别人,它肯定不是一个特别令人愉快的框架介绍。 我已经重新排序了我实际输入的命令,以避免跟随任何人的双重处理。
尝试先安装rdoc gem:
gem install rdoc
它适用于我在ruby 1.8.7和rails 3.0.7上使用RVM
祝好运。
Debian版本的RubyGems将Gems安装到/var/lib/gems/1.8/
,将Gem二进制文件安装到/var/lib/gems/1.8/bin
。 您需要确保该目录位于$PATH
。
这是我称之为“如果你听到蹄子,想马,而不是斑马”的典型例子。 如果一台计算机告诉你它找不到东西,首先要找的是,如果那里确实存在某些东西,那么第二件事是计算机是否正在寻找正确的位置。 安装libreadline5-dev
OTOH远远低于列表末尾……
在这种情况下,您告诉计算机在$PATH
执行文件rails
,它根本不存在,因为它安装的目录不在$PATH
。
我猜测rails安装得很好但是gem-folder在某种程度上没有在你的PATH中设置。 做一个像这样的搜索find / -name *rails* | grep bin
find / -name *rails* | grep bin
并检查是否产生任何结果; 如果是这样,检查路径轨道是否位于您的路径中。 (echo $ PATH)
我记录了我经历的过程。 它涵盖了git,rvm和vim。
http://appogee.posterous.com/ubuntu-1010-ruby-on-rails-setup
你需要一堆建筑工具。 谷歌搜索“安装rails 3.0.1 ubuntu”,你会发现信息。 它将是这样的:
apt-get install curl git-core build-essential zlib1g-dev libssl-dev libreadline5-dev
还推荐使用RVM,它非常适合拥有多个Ruby版本和不同的gem集,非常适合于在同一台机器上进行实验和使用不同版本的Rails。