安装Rails,但它说我没有:)

时间:2011-04-22 21:34:34

标签: ruby-on-rails ruby ruby-on-rails-3

我刚刚执行此命令来安装Rails:

gem install rails

似乎运行良好并安装了东西。

然后,当我按照本教程:http://guides.rubyonrails.org/getting_started.html时,它说要执行此命令:

rails new blog

我做了什么,它给了我这个错误:

The program 'rails' is currently not installed.  You can install it by typing:
sudo apt-get install rails

知道为什么会这样吗?我认为rails应该自动开始工作:)

我做了这个命令:

rvm gemdir

它给了我这个结果:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.6.2
  - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux]
  - INSTALLATION DIRECTORY: /home/agenadinik/.rvm/gems/ruby-1.9.2-p180
  - RUBY EXECUTABLE: /home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
  - EXECUTABLE DIRECTORY: /home/agenadinik/.rvm/gems/ruby-1.9.2-p180/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/agenadinik/.rvm/gems/ruby-1.9.2-p180
     - /home/agenadinik/.rvm/gems/ruby-1.9.2-p180@global

应该是这样的:

EXECUTABLE DIRECTORY: /usr/bin

2 个答案:

答案 0 :(得分:6)

RVM和apt-get不兼容;他们试图解决同样的软件安装问题,但方式却截然不同。

apt-get总是将它管理的软件安装到系统的目录中,你必须以root身份运行才能这样做。 RVM旨在作为用户的沙箱安装,安装到~/.rvm,隔离它从系统安装的所有内容,但仍然可以将其用于用户的代码。

Should there be something like this:

EXECUTABLE DIRECTORY: /usr/bin

不,不适用于RVM托管的Ruby。所有RVM管理的Rubies和gem都应位于~/.rvm某处。

使用which ruby查看系统认为您的Ruby路径应该是什么。如果RVM配置正确,并且您使用RVM安装了Ruby,则返回的路径应为:

/home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/ruby

如果RVM安装没有问题,您应该使用RVM的installation页面上的“安装疑难解答”检查来检查配置。

如果正常工作的Ruby是正确的,请输入which rails,您应该会看到一个响应,显示它位于某个地方的~/.rvm沙箱中。如果是,请尝试gem list rails。 Rubygems应该回复:

rails (3.0.7)

用于当前的Rails安装。如果没有,请使用gem install rails,并应在几分钟的搅拌后安装。然后,再次执行gem list rails命令,您应该看到它后跟which rails,显示它对系统可见。

另一个问题是,您的RVM看起来已过时,或者您没有将rvm gemdir用于gems输出,因为rvm gemdir未在当前版本中返回该信息。要更新它,请使用rvm get head,然后使用rvm reload或关闭并重新打开终端。随后的rvm -v应该返回1.6.3版本,这是截至今天的最新版本。 RVM快速更新,因此请务必定期更新它以修复错误。我每周检查几次,但每周应该没问题,每月应该足够了。

答案 1 :(得分:-2)

我的猜测是'rails'安装在不在用户路径中的某个地方。

您可能会尝试locate rails,但我不认为sudo apt-get install rails会导致您认为会出现的问题,而是会在您使用aptitude安装内容时解决您的问题。这很聪明。 :)