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

我刚刚执行此命令来安装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 

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

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

 Should there be something like this: EXECUTABLE DIRECTORY: /usr/bin 

不,不适用于RVM托管的Ruby。 所有RVM管理的~/.rvm和gem都应该驻留在~/.rvm某个地方。

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

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

如果RVM安装不存在问题,您应该使用RVM 安装页面上的“ 安装故障排除”检查来检查配置。

如果工作的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快速更新,因此请务必定期更新它以修复错误。 我每周检查几次,但每周应该没问题,每月应该足够了。

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

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