2014-01-22 60 views
11

我在本地目录中使用rbenv和ruby 1.9.1-p378版本。rbenv:ruby:命令未找到

命令红宝石-v提供了以下错误:

rbenv: ruby: command not found 

The `ruby' command exists in these Ruby versions: 
2.0.0-p353 

任何线索,为什么出现这种情况? bundle,rails命令也不起作用。

命令rbenv版本

* 1.9.1-p378 (set by /home/user/Desktop/r1/noko1/.ruby-version) 
2.0.0-p353 
+0

正如你所看到的:'ruby'应用程序只存在于ruby 2.0.0版本中,不在1.9.1中,只是将ruby切换到2.0.0 –

+0

你确实(真的)不想使用Ruby 1.9。 1,因为它在多方面被破坏(编码,rubygems,...),并且通常不被任何人支持。如果你想使用1.9 Ruby,你至少应该使用Ruby 1.9.2。 –

回答

26
  1. 您得到的投诉来自rbenv。抱怨的事实表明rbenv已经建立并正在运作。

  2. 找出需要哪个版本的Ruby来运行该项目。这个项目或者在根目录中有一个.ruby-version文件,或者项目中的某个人会知道并推荐要使用的版本。

  3. 如果未在.ruby-version文件中指定版本,请在项目目录中创建.ruby-version文件。

  4. 类型ruby -v而在该目录中。可以吗?然后,您安装了与您的.ruby版本所要求的版本相匹配的Ruby版本。

  5. 如果最后一条命令不正确,请输入rbenv install

现在安装了Ruby,您需要运行您的程序。我假设它带有一个Rakefile。

  1. 安装打包工具:gem install bundler

  2. 安装项目的依赖关系:bundle exec rails server

+0

我试图运行当我尝试使用2.0.0运行时遇到问题的应用程序。关于rbconfig/config的一些东西。这就是为什么我试图在1.9.1中使用它。它也使用rails 2.3.2,我从应用程序的gem文件中收集。然而rails命令也不起作用... –

+1

我已经一步一步地说明了。让我知道事情的后续。 – z5h

+0

是的!谢谢,[rbenv install]让rubygems工作 - 然后[gem install bundler]是很大的帮助。然而,我有大约4或5个其他的东西需要修复,包括将gem rdoc添加到gemfile并安装一些其他必需的gem如sqlite等,最后再次降级rubygems版本以便使用./script/server start for导轨2.3.2;但毕竟它工作!感谢捆绑 –

0

看来你需要rbenv install您要使用的红宝石版本,因为只有2.0.0-p353可用。见rbenv help

+0

我认为它已经安装,看到我的编辑,当我使用rbenv版本 –

+0

你可以在你想要的目录中共享你的'.rbenv-version'文件吗? – Conner

+0

它只是一行:1.9.1-p378 –

2

根据当前版本试试下面的一段代码:bundle install

  • 使用库的确切版本,它指定运行项目您已安装的导轨。在我的情况我使用v2.3.3

    rbenv global 2.3.3 
    
  • +0

    作为一个完全不熟悉Ruby的人,这是唯一对我有用的东西, – joe

    0

    试试这个CMD 'rbenv全球1#,#' 我 工作。