【发布时间】:2012-03-15 05:30:38
【问题描述】:
我想运行一个 heroku 服务器,在安装 ruby 和 ruby gems 之后,我想运行“bundle install”。 我在尝试安装 therubyracer 时收到编译错误,并意识到这是因为 therubyracer 无法在 Windows from here 上运行。在其他几个问题上建议将 gem 文件更改为不包含 windows 上的 rubyracer,而是使用 execjs。我下载了 execjs,但是如何更改 gem 文件?
这是我当前的 gem 文件:
source 'https://rubygems.org'
gem 'sinatra'
gem 'sinatra-contrib'
gem 'heroku'
group :development do
gem 'less'
end
gem 'therubyracer-heroku', '~> 0.8.1.pre3', :platform => :ruby
gem 'therubyracer', :platform => :ruby
我尝试插入这些行中的任何一条,但都不起作用(运行“捆绑安装”仍试图安装 therubyracer 并失败。)所以我怀疑我必须在其他地方添加 :platform => :ruby 。
谁能告诉我如何修改我的 gem 文件来解决这个问题?
谢谢!
ps:使用 Ruby 1.9.3。
【问题讨论】:
-
我不太明白你的问题——你为什么要安装 therubyracer 和/或 execjs?部署到heroku,还是出于其他原因?您到底想做什么但不起作用,错误是什么样的?
-
抱歉不清楚。我正在尝试运行“捆绑安装”以在 heroku 上进行部署,但我收到错误消息,即需要安装 >therubyracer
-
我想我也想知道如何确定 gem 文件中的哪些 gem 与这个神秘的 therubyracer 有依赖关系,以及如何修改 gem 文件以忽略这种依赖关系。
-
这是一个新的 Heroku 应用吗?如果是这样,那么您应该尽可能使用 cedar 堆栈 (
heroku create --stack cedar)。此外,仅供参考,exec JS 必须使用 javascript 运行时。因此,您安装 execjs,然后列出以下运行时之一:github.com/sstephenson/execjs#readme -
Execjs 可以使用任何 javascript 运行时,包括 rubyracer。我很确定rails默认使用execjs,所以问题可能是没有安装javascript运行时。
标签: ruby-on-rails ruby heroku gem execjs