【问题标题】:therubyracer on windows - how to change gem file?Windows 上的 therubyracer - 如何更改 gem 文件?
【发布时间】:2012-03-15 05:30:38
【问题描述】:

我想运行一个 heroku 服务器,在安装 ruby​​ 和 ruby​​ gems 之后,我想运行“bundle install”。 我在尝试安装 therubyracer 时收到编译错误,并意识到这是因为 therubyracer 无法在 Windows from here 上运行。在其他几个问题上建议将 gem 文件更改为不包含 windows 上的 ruby​​racer,而是使用 execjs。我下载了 execjs,但是如何更改 gem 文件?

这是我当前的 gem 文件:

source 'https://rubygems.org'

gem 'sinatra'
gem 'sinatra-contrib'
gem 'heroku'

group :development do
   gem 'less'
end

这些是herehere 提出的建议

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 运行时,包括 ruby​​racer。我很确定rails默认使用execjs,所以问题可能是没有安装javascript运行时。

标签: ruby-on-rails ruby heroku gem execjs


【解决方案1】:

如果您仅使用 therubyracer 进行资产编译,并且您正在部署到 cedar,那么您现在可以将这两个 gem 从您的 Gemfile 中删除,heroku 会做正确的事情。

来自the heroku documentation

如果您之前使用的是 therubyracer 或 therubyracer-heroku, 不再需要这些宝石,并且强烈建议不要使用这些宝石 gem 占用大量内存。

【讨论】:

  • therubyracer-heroku 或 therubyracer 目前不在我的 gem 文件中,如上所示。
猜你喜欢
  • 1970-01-01
  • 2011-09-15
  • 2020-10-06
  • 2014-07-27
  • 2012-03-26
  • 1970-01-01
  • 2012-10-27
  • 2012-03-25
  • 2013-12-30
相关资源
最近更新 更多