如何在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。