2011-06-18 69 views
5

我试图创建在Heroku上一个新的应用程序,但似乎无论什么我做的Heroku运行1.9.1,而不是1.9.2运行红宝石1.9.2在Heroku

我创建我的应用程序...

heroku create writings --stack cedar 

然后我把我的发展分支在Heroku掌握测试

git push heroku develop:master 

,但应用程序有错误运行...看在Heroku的日志..这似乎是有问题的错误。

/app/vendor/bundle/ruby/1.9.1/gems/execjs-1.1.3/lib/execjs/runtimes.rb:43:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 

这说明它运行的是ruby 1.9.1不是吗?

如果我运行的Heroku的配置,它表明...

 
heroku config 
DATABASE_URL  => postgres://mxlvaczibv:[email protected]/mxlvaczibv 
GEM_PATH   => vendor/bundle/ruby/1.9.1 
LANG    => en_US.UTF-8 
PATH    => vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin 
RACK_ENV   => production 
RAILS_ENV   => production 
SHARED_DATABASE_URL => postgres://mxlvaczibv:[email protected]/mxlvaczibv 

这是不是显示它正在运行1.9.1?我完全糊涂了...我以为雪松堆栈跑了1.9.2。任何帮助赞赏。

谢谢,马克。

+1

通过打开控制台'检查红宝石版本$的Heroku然后console'控制台内部,看看'RUBY_VERSION'不变。 (我认为这是雪松工作,但没有尝试过) –

回答

11

它没有显示它运行的是Ruby 1.9.1。因为标准库在1.9.1和1.9.2之间变化很小,所以它们都使用相同的路径。你会注意到这不仅仅是在Heroku上。

看起来像execjs正在期望在系统上安装JS运行时。显然青瓷雪松有一个(NodeJS),但它不会工作,直到轨道3.1rc5到达。在此之前,请按照this的答案回答。

+0

谢谢!添加了rubyracer宝石,并摆脱了那个错误。但是现在我刚刚得到了一个针对heroku的通用错误H10(应用程序崩溃)错误。我相信这完全是另一回事。 – markstewie

+0

我认为heroku上的默认堆栈现在也使用1.9.2。 – agmcleod

2

我也在使用Ruby 1.9.2和Heroku。我在我的Gemfile中有这个。我记得在尝试部署到Heroku之前也有一些javascript错误,我很确定这解决了它。

group :production do 
    gem 'therubyracer-heroku', '0.8.1.pre3' 
end 
0

尝试使用:

heroku create --stack bamboo-mri-1.9.2