【问题标题】:How to install Ruby on Rails 3.0 on Ubuntu 10.10?如何在 Ubuntu 10.10 上安装 Ruby on Rails 3.0?
【发布时间】:2010-11-11 06:02:05
【问题描述】:

安装 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="<!-- HI -->"
... 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?还有什么可能被破坏?

【问题讨论】:

  • 正如@jcm 所说,您真的应该考虑使用 RVM。这是获得新的 Ruby 和 Rails 优点的最快和最简单的途径。我将不再使用 RVM,因为它让生活变得如此轻松。
  • 你为什么不简单地使用突触?它将安装带有所有已卸载依赖项的主包。
  • 不是在 11 年它没有。

标签: ruby-on-rails ruby rubygems


【解决方案1】:

我强烈建议您跳过 Ubuntu 软件包并使用 RVM。安装过程非常简单,documented。上面还有一个Railscast

RVM 将允许您安装多个版本并创建自定义 gemset(无依赖性问题)。这是非常值得的,并且很快成为使用 Ruby 进行开发(和部署)的事实上的方式。

【讨论】:

    【解决方案2】:

    http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/:

    在任何情况下你都不应该 安装 Ruby、Rubygems 或任何 来自 apt-get 的 Ruby 相关软件包。 该系统已过时并导致 严重的头痛。避免它 Ruby 相关的包。

    【讨论】:

      【解决方案3】:

      好的,我对使用 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
      

      最后,一切似乎都奏效了。我希望对其他人有所帮助,这当然不是一个特别令人愉快的框架介绍。我已经对我实际输入的命令进行了重新排序,以避免对跟随的任何人进行双重处理。

      【讨论】:

      • 在 ubuntu 10.04 上试过这个。我做了:rvm install 1.8.7,然后是rvm use --default 1.8.7,然后是rvm rubygems current,最后是:gem install rails。它安装了一堆东西,但后来我得到: 错误:为 builder-2.1.2 生成文档时 ... MESSAGE: Unhandled special: Special: type=17, text="" 。 .. RDOC 参数:--ri --op /opt/standingcloud/.rvm/gems/ruby-1.8.7-p334/doc/builder-2.1.2/ri --title Builder -- 简易 XML 构建 --main自述文件 --line-numbers lib 更改 Rakefile 自述文件 doc/releases/builder-1.2.4.rdoc doc/releases/builder-2.0.0.rdoc [...]
      • @TrinitronX - 我认为应该是rvm --default use 1.8.7。否则,您可能正在使用内置的 ruby​​ 并遇到与我尝试在没有 rvm 的情况下安装 rails 时相同的错误。
      • @Tom - 刚刚尝试过,然后再次运行 rvm rubygems current... 然后 gem install rails 并得到:成功安装 rails-3.0.7 1 gem installed 安装 rails-3.0.7 的 ri 文档...找不到文件:lib 错误:为 rails-3.0.7 生成文档时...消息:退出... RDOC args:--ri --op /opt/standingcloud/.rvm/gems/ruby-1.8 .7-p334/doc/rails-3.0.7/ri lib --title rails-3.0.7 Documentation --quiet 如果我运行gem --version,它会返回:1.6.2
      • 我没有想法,那么我害怕......我只能说上述说明在 6 个月前对我有用,希望对 ruby​​ 有更多了解的人可以帮助你开始。祝你好运!
      • @Tom :原来在我尝试使用 rvm 时它本身存在一些问题!幸运的是,开发人员似乎修复了它们,所以现在它对我有用。我最终还需要关注directions here,然后通过以下方式重试:rvm gem install rails
      【解决方案4】:

      先尝试安装 rdoc gem:

      gem install rdoc
      

      在 ruby​​ 1.8.7 和 rails 3.0.7 上使用 RVM 对我有用

      祝你好运。

      【讨论】:

      • 在 Mac OSX 10.7.4 上尝试通过 rvm 安装 Ruby 1.8.7-head + rails 3.0.7 时,我遇到了与此问题的原始发帖人相同的问题。 'gem install rdoc' 为我修复了错误。
      【解决方案5】:

      Debian 版本的 RubyGems 将 Gems 安装到 /var/lib/gems/1.8/ 并将 Gem 二进制文件安装到 /var/lib/gems/1.8/bin。您需要确保该目录在您的$PATH 中。

      这是一个典型的例子,我称之为“如果你听到蹄子,想想马,而不是斑马”规则。如果计算机告诉您它找不到某物,首先要寻找的是该东西是否确实存在,第二件事是计算机是否在正确的位置寻找。安装libreadline5-dev OTOH 远远低于列表的末尾……

      在这种情况下,您告诉计算机执行$PATH 中的文件rails,该文件根本不存在,因为它安装到的目录不在$PATH 中。

      【讨论】:

      • 您可能想要更明确一点,即将“export PATH=/var/lib/gems/1.8/bin:$PATH”添加到您的 ~/.bashrc
      • @Tom:你如何管理你的$PATH 是你的事,不是我的事。例如,我更喜欢将其设置为/etc/environment 而不是~/.bashrc,但这只是我个人的喜好,我不想强​​加给任何人。事实上,您不需要将它添加到$PATH 根本,您可以将其称为/var/lib/gems/1.8/bin/rails 或创建一个alias rails=/var/lib/gems/1.8/bin/rails 或其他。这真的是你的选择(无论如何与这个问题没有任何关系)。
      【解决方案6】:

      我猜 rails 安装得很好,但是 gem-folder 没有在你的 PATH 中设置。进行类似find / -name *rails* | grep bin 的搜索并检查是否产生任何结果;如果是这样,请检查路径 rails 是否也在您的 PATH 中。 (回声 $PATH)

      【讨论】:

      • 请注意,它位于 /var/lib/gems/1.8/bin/rails 和 /var/lib/gems/1.8/gems/rails-3.0.1/bin/rails 中
      • 虽然 find 命令很乱,但find / -name *rails* 2&gt;/dev/null | grep bin 更易于管理。
      【解决方案7】:

      我记录了我经历的过程。它涵盖了 git、rvm 和 vim。

      http://appogee.posterous.com/ubuntu-1010-ruby-on-rails-setup

      【讨论】:

        【解决方案8】:

        您将需要一堆构建工具。谷歌搜索“安装rails 3.0.1 ubuntu”,你会找到信息。它会是这样的:

        apt-get install curl git-core build-essential zlib1g-dev libssl-dev libreadline5-dev
        

        还推荐使用 RVM,它非常适合拥有多个 Ruby 版本和不同的 gem 集,适合在同一台机器上进行试验和使用不同版本的 Rails。

        【讨论】:

        • rvm 也让编译 rubies 变得非常简单
        • 恐怕没有帮助。我只缺少 git 和 libreadline5-dev ,我不明白为什么如果它们需要它们,它们不会成为 ruby​​gems 的依赖项?
        • 我记得一页没有帮助,而是尝试了另一页并且它起作用了......也许一些信息是针对 Rails 3.0.0 beta 的。另外......也许 ruby​​gems 并不直接依赖它,但它构建的一些 gem 需要这些工具。还有很多 gem 不需要构建工具
        • 这到底是怎么得到赞成的?它与这个问题没有任何关系。
        • 您不需要构建工具来安装 Rails 和其他一些 gem,例如 sqlite3-ruby 或 mysql2 吗?
        猜你喜欢
        • 2011-06-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-11
        • 1970-01-01
        • 1970-01-01
        • 2012-06-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多