Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何强制Rails使用我想要的Ruby版本(用rbenv管理)?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何强制Rails使用我想要的Ruby版本(用rbenv管理)?

Ruby on rails 如何强制Rails使用我想要的Ruby版本(用rbenv管理)?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我安装了rbenv和ruby build。然后我安装了ruby 1.9.2p290。一切看起来都很好 $ cd my_rails_app $ ruby -v 1.9.2p290 $ rails server ... [2011-10-04 13:51:01] INFO WEBrick 1.3.1 [2011-10-04 13:51:01] INFO ruby 1.8.7 (2010-01-10) [universal-darwin11.0] ... 但当我运行我的应用程序时,它仍然使用ru

我安装了rbenv和ruby build。然后我安装了ruby 1.9.2p290。一切看起来都很好

$ cd my_rails_app
$ ruby -v
1.9.2p290
$ rails server
...
[2011-10-04 13:51:01] INFO  WEBrick 1.3.1
[2011-10-04 13:51:01] INFO  ruby 1.8.7 (2010-01-10) [universal-darwin11.0]
...
但当我运行我的应用程序时,它仍然使用ruby 1.8.7。(1.9中存在的方法失败)。rails/控制台中的所有内容都类似于1.8,而IRB中的所有内容都类似于1.9

如何强制我的应用程序使用1.9


我对RVM很熟悉,我特别想问一下rbenv。

您是否使用
bundle install安装了Rails?如果是这样,请注意Bundler不会将可执行文件添加到Ruby的可执行目录中

相反,请使用binstubs或
bundle exec
():


如果您没有使用Bundler安装Rails,您可能应该执行
rbenv rehash
来更新可执行文件。然后,
rails服务器
应该可以正常工作。然而,这只有在Rails直接与Rubygems一起安装的情况下才会起作用,因此这是一种不可靠的调用Rails的方式。

什么是“当我运行我的应用程序”呢?你用的是什么应用服务器?我用WEBrick在本地运行。我在使用rails/控制台时也遇到同样的问题。我更新了答案,以显示引用1.8.7的特定服务器输出。这些脚本引用了
/usr/bin/env
/usr/bin/env ruby-v
告诉你什么?
/usr/bin/env ruby-v
->
ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-darwin11.1.0]
WebRick刚刚从1.8.7开始!这对我有用。谢谢
bundle exec rails server