Mac OS X Mountain Lion:“此系统上当前未安装Rails。”

14

我正在新安装的OS X Mountain Lion上。我已通过以下方式安装了rails:

sudo gem install rails

所有的安装看起来都正确,但是当我键入rails命令 (rails s, rails -v等)时,我遇到了这个错误:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

'which rails' 的结果是 '/usr/bin/rails'。

我以为这可能是路径问题,或许确实如此,但我可以看到 /usr/bin 是我的 PATH 的一部分。

有什么帮助吗?谢谢!

更新:我注意到我的另一台完全相同操作系统的 Mac 上一切都工作得很好... 我只是不记得我是怎么做到的。如果我运行 'which rails',我会发现它在一个完全不同的位置 '/Users/username/.rvm/gems/ruby-1.9.3-p194/bin/rails'


which ruby 返回什么?如果是 /usr/bin/ruby,请尝试使用 rvm use 1.9.3 - Jeff Peterson
11个回答

19

如果你正在使用rbenv,请不要忘记在安装/更新Ruby后运行rbenv rehash


18

使用RVM http://rvm.io 或者rbenv来安装比OS X预装版本更高的Rails版本。

https://rvm.io/rvm/install/上跟着例子,基本上是这样:

安装RVM:$\curl -L https://get.rvm.io | bash -s stable

然后你可以用$rvm list known来查看可用的Rubies(很多)。只需用$rvm install 1.9.3就可以获取最新版本的Ruby(此时写作时最新版本为ruby-1.9.3-p327

将该版本设置为你的默认版本$rvm --default use 1.9.3

创建一个默认的gemset用于存储你的gems $rvm use 1.9.3@mygemset --create --default

然后安装Rails$ gem install rails将会获取最新版本,今天等同于输入gem install rails -v 3.2.9


你能发一个使用示例吗?我感觉我用了rvm,因为我运行了gem install rails命令。我应该使用什么命令?谢谢! - botbot
例如,在http://siliconchaos.com/2011/07/installing-rails-with-rvm/中说要运行“gem install rails”。这不对吗? - botbot

8

我在使用rbenv时遇到了这个问题,不知道为什么,但是发现我的~/.rbenv/shims/rails文件是空的...

所以解决方法如下:

  • 清理空的shims: find ~/.rbenv/shims -empty -delete

  • 然后重新生成: rbenv rehash (没有覆盖空的文件...)


谢谢!这个解决了我的问题! - robyoder

2

I had the same problem.

After typing:

sudo gem install rails

如果您想正确安装Rails,请关闭终端窗口并重新打开。然后输入以下命令:

~ $ rails -v
Rails 4.0.2

因此,重置终端窗口可以解决问题。

1
这可能看起来很奇怪,但对我来说解决了问题。 - jrenouard

1

我认为安装rvm会对你有所帮助

  rvm get head && rvm reload
  rvm install 1.9.3
  rvm use 1.9.3@current --create --default 

最后一行创建了一个名为current的宝石集。

现在通过在终端中键入which gem来检查您的RubyGems是否已正确安装。现在更新您的宝石。

gem update --system 1.8.24

最后安装Rails。

gem install rails -v 3.2.3

希望这个可以正常工作,如果您有任何问题,请告诉我。


你选择了 RVM 吗?例如,使用 "rvm use" 命令指定你的 gemset 名称。 - Dipak Panchal
gem update --system 然后 sudo gem install rails -V 没有版本号对我奏效。 - Sophia Feng

0

0

是的,OSX自带了很多Ruby on Rails、PHP、Mysql等优秀的软件。然而,有时为了维护方便,最好使用第三方安装程序来获取你想要的一切,而不必深入挖掘/usr/目录。

我建议查看http://railsinstaller.org/

只需一个简单的安装,你就可以拥有Rails项目所需的一切,包括人们常用的通用软件,该网站甚至还提供教程。我建议采用这种方式,它可以节省你的时间。此外,它还配备了一个易于卸载的卸载程序,可将其放置在应用程序文件夹中以进行删除,如果您对配置不满意。祝你使用愉快。


1
个人建议使用RVM + Homebrew。 - Alistair A. Israel
这个答案的重点是不要使用内置工具。RailsInstaller和RVM + homebrew都是很好的选择。 - sunnyrjuneja
@AlistairIsrael,感谢您对rvm的评论...那我只需要运行'rvm install rails'并让它自己运行就可以了吗? - botbot
@rockstarz 我想我有点担心使用第三方安装程序。我很感激您的建议并查看了那个工具。可能将来会更容易,甚至可能是“一键解决方案”,但是此时此刻,我觉得这有点像用核武器消灭蚂蚁丘。担心它会破坏我的配置,并在我不熟悉的位置安装太多东西,最终让我依赖它的配置。 - botbot
railsinstaller附带RVM。它安装了Ruby 1.9.3-p194、Rails 3.2.7、Git 1.7.9.6、Sqlite 3070500、osx-gcc-installer 4.1、JewelryBox 1.3.0、RVM 1.14.2、SM 0.10.3以及一个卸载程序,可以删除配置。它不会破坏您当前的设置。 - jsteinmann

0

实际上,/usr/bin/rails脚本只是一个

# Stub rails command to load rails from Gems or print an error if not installed.

(摘自该脚本源代码的注释)

如果Rails已安装,则会加载它。否则,该脚本将抛出您在问题中粘贴的错误。


0

0

另一个替代 RVM 的不错的工具是 rbenv。

它非常易于安装(只需简单的 brew install rbenv)和使用。我认为,这是在 Mac 上管理你的 Ruby 最好的方法。

但是,如果您的计算机上已经安装了 rvm,请考虑通过执行rvm implode将其从系统中删除。

由于设置新的 Ruby on Rails 开发环境是大多数新手(包括我自己开始使用 Rails 时)面临的常见障碍,我在一篇博客文章中提供了详细的说明,我将在下面提供链接。希望你会觉得有用。

http://blog.parsalabs.com/blog/2013/08/27/setting-up-a-ruby-on-rails-4-development-environment-on-a-clean-mac-os-x-installation/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接