Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
为什么Heroku堆栈跟踪表明Ruby 1.9.1正在使用?_Ruby_Heroku - Fatal编程技术网

为什么Heroku堆栈跟踪表明Ruby 1.9.1正在使用?

为什么Heroku堆栈跟踪表明Ruby 1.9.1正在使用?,ruby,heroku,Ruby,Heroku,最近在cedar上的Heroku应用程序上看到了这个堆栈跟踪 /usr/local/lib/ruby/1.9.1/uri/common.rb:156:in `split' /usr/local/lib/ruby/1.9.1/uri/common.rb:174:in `parse' /usr/local/lib/ruby/1.9.1/uri/common.rb:628:in `parse' 为什么使用Ruby 1.9.1? 我的文件没有指定Ruby版本。Heroku的文件建议我们应该得到Ceda

最近在cedar上的Heroku应用程序上看到了这个堆栈跟踪

/usr/local/lib/ruby/1.9.1/uri/common.rb:156:in `split'
/usr/local/lib/ruby/1.9.1/uri/common.rb:174:in `parse'
/usr/local/lib/ruby/1.9.1/uri/common.rb:628:in `parse'
为什么使用Ruby 1.9.1?

我的文件没有指定Ruby版本。Heroku的文件建议我们应该得到Cedar默认值1.9.2

编辑:

ruby-v似乎报告了正确的版本

$ heroku run "ruby -v"
Running `ruby -v` attached to terminal... up, run.2594
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

它实际上并没有使用Ruby 1.9.1——正如from所解释的,它与C接口有关,自Ruby 1.9.1以来,C接口一直没有改变

在Ruby 1.9.0中,C接口与Ruby 1.8系列有所不同

编译为本机代码的gem必须重新编译

在Ruby 1.9.1中再次更改了接口,并在Ruby 1.9.2和3中保持相同。这就解释了你在路上看到的1.9.1

其想法是,您可以在系统上安装不同版本的Ruby,并且gems将在具有相同C api的组中共享。所以Ruby1.8.6和1.8.7可以共享他们的精华,Ruby1.9.1、.2和.3也可以共享

不过,这不一定是最好的主意。在任何情况下,大多数人都使用rvm访问不同版本的Ruby,rvm将每个版本的gems分开,而不考虑C api版本


它实际上并没有使用Ruby 1.9.1——正如from所解释的,它与C接口有关,自Ruby 1.9.1以来,C接口一直没有改变

在Ruby 1.9.0中,C接口与Ruby 1.8系列有所不同

编译为本机代码的gem必须重新编译

在Ruby 1.9.1中再次更改了接口,并在Ruby 1.9.2和3中保持相同。这就解释了你在路上看到的1.9.1

其想法是,您可以在系统上安装不同版本的Ruby,并且gems将在具有相同C api的组中共享。所以Ruby1.8.6和1.8.7可以共享他们的精华,Ruby1.9.1、.2和.3也可以共享

不过,这不一定是最好的主意。在任何情况下,大多数人都使用rvm访问不同版本的Ruby,rvm将每个版本的gems分开,而不考虑C api版本


ruby--version
报告它将使用您拥有的任何版本,通常是
哪个ruby
版本取决于您如何启动它。在irb会话中,
ruby\u version=>“1.9.2”
irb和ruby是不同的可执行文件。您的路径中是否有多个版本
ruby在哪里
ruby-v
更新了这个问题。谢谢。
ruby--version
报告它将使用您拥有的任何版本,通常是
哪个ruby
版本取决于您如何启动它。在irb会话中,
ruby\u version=>“1.9.2”
irb和ruby是不同的可执行文件。您的路径中是否有多个版本
ruby在哪里
ruby-v
更新了这个问题。谢谢