web-dev-qa-db-ja.com

Windows上のtherubyracer gem

数週間、gemを追加せずにWindowsで平和的に開発してきましたが、今日はバンドルアップデートを行うことにしましたが、therubyracerと呼ばれるこのgemを使用することはできません。開発キットをインストールしましたが、ドキュメントの検証手順に従って動作しています。

私の質問は、このgemをWindowsにインストールする方法はありますか?

そして、このgemはRails 3.1によって必要とされています。これがバンドル更新を行う理由です。これはRails 3.0 .8将来の3.1移行の早期キックスタートのジェスチャーとして?

GemfileおよびGemfile.lockを含む編集

# Gemfile
# source 'http://rubygems.org'
source :rubygems

gem 'Rails'
gem 'rake', '0.8.7'
gem 'youtube_it'
gem 'panda'
gem "nifty-generators"
# gem "mongoid", "2.0.0.rc.7"
gem "mongoid"
gem "mongoid-eager-loading"
# gem 'mongoid_search'
gem "bson_ext", ">1.1.5"
gem 'devise'
gem 'cancan'
gem 'hirb'
# gem 'heroku'
gem 'rest-client'
gem 'less' # needs the more plugin
# gem 'hash_extension'
gem 'aws-s3', :require => 'aws/s3' # s3.rb
gem 'jquery-Rails', ">= 0.2.7" # Rails g jquery:install
# gem 'mongrel', ">= 1.2.0.pre2"
gem 'delayed_job'
gem 'delayed_job_mongoid'
gem 'kaminari'



# Gemfile.lock
GEM
  remote: http://rubygems.org/
  specs:
    abstract (1.0.0)
    actionmailer (3.0.8)
      actionpack (= 3.0.8)
      mail (~> 2.2.19)
    actionpack (3.0.8)
      activemodel (= 3.0.8)
      activesupport (= 3.0.8)
      builder (~> 2.1.2)
      erubis (~> 2.6.6)
      i18n (~> 0.5.0)
      rack (~> 1.2.1)
      rack-mount (~> 0.6.14)
      rack-test (~> 0.5.7)
      tzinfo (~> 0.3.23)
    activemodel (3.0.8)
      activesupport (= 3.0.8)
      builder (~> 2.1.2)
      i18n (~> 0.5.0)
    activerecord (3.0.8)
      activemodel (= 3.0.8)
      activesupport (= 3.0.8)
      arel (~> 2.0.10)
      tzinfo (~> 0.3.23)
    activeresource (3.0.8)
      activemodel (= 3.0.8)
      activesupport (= 3.0.8)
    activesupport (3.0.8)
    arel (2.0.10)
    aws-s3 (0.6.2)
      builder
      mime-types
      xml-simple
    bcrypt-Ruby (2.1.4-x86-mingw32)
    bson (1.3.1)
    bson_ext (1.3.1)
    builder (2.1.2)
    cancan (1.6.5)
    daemons (1.1.3)
    delayed_job (2.1.4)
      activesupport (~> 3.0)
      daemons
    delayed_job_mongoid (1.0.2)
      delayed_job (~> 2.1.1)
      mongoid (~> 2.0.0.rc)
    devise (1.3.4)
      bcrypt-Ruby (~> 2.1.2)
      orm_adapter (~> 0.0.3)
      warden (~> 1.0.3)
    erubis (2.6.6)
      abstract (>= 1.0.0)
    hirb (0.4.5)
    i18n (0.5.0)
    jquery-Rails (1.0.10)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.5.2)
    kaminari (0.12.4)
      Rails (>= 3.0.0)
    less (1.2.21)
      mutter (>= 0.4.2)
      treetop (>= 1.4.2)
    mail (2.2.19)
      activesupport (>= 2.3.6)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.16)
    mongo (1.3.1)
      bson (>= 1.3.1)
    mongoid (2.0.2)
      activemodel (~> 3.0)
      mongo (~> 1.3)
      tzinfo (~> 0.3.22)
    mongoid-eager-loading (0.3.1)
    mutter (0.5.3)
    nifty-generators (0.4.6)
    oauth (0.4.4)
    orm_adapter (0.0.5)
    panda (1.4.2)
      json
      rest-client
      Ruby-hmac (>= 0.3.2)
    polyglot (0.3.1)
    rack (1.2.3)
    rack-mount (0.6.14)
      rack (>= 1.0.0)
    rack-test (0.5.7)
      rack (>= 1.0)
    Rails (3.0.8)
      actionmailer (= 3.0.8)
      actionpack (= 3.0.8)
      activerecord (= 3.0.8)
      activeresource (= 3.0.8)
      activesupport (= 3.0.8)
      bundler (~> 1.0)
      railties (= 3.0.8)
    railties (3.0.8)
      actionpack (= 3.0.8)
      activesupport (= 3.0.8)
      rake (>= 0.8.7)
      thor (~> 0.14.4)
    rake (0.8.7)
    rest-client (1.6.1)
      mime-types (>= 1.16)
    Ruby-hmac (0.4.0)
    thor (0.14.6)
    treetop (1.4.9)
      polyglot (>= 0.3.1)
    tzinfo (0.3.28)
    warden (1.0.4)
      rack (>= 1.0)
    xml-simple (1.0.16)
    youtube_it (1.4.2)
      builder
      oauth (>= 0.4.4)

PLATFORMS
  x86-mingw32

DEPENDENCIES
  aws-s3
  bson_ext (> 1.1.5)
  cancan
  delayed_job
  delayed_job_mongoid
  devise
  hirb
  jquery-Rails (>= 0.2.7)
  kaminari
  less
  mongoid
  mongoid-eager-loading
  nifty-generators
  panda
  Rails
  rake (= 0.8.7)
  rest-client
  youtube_it
50
Nik So

いいえ、現在このgemをWindowsにインストールする方法はありません。問題は、現在、Windows用のlibv8 gemのプリコンパイルバージョンがなく、ソースバージョンが* nixとのみ互換性があることです。必ずしもそのようにする必要はなく、誰かがWindowsのコンパイルを機能させるために時間をかける必要があります。 https://github.com/cowboyd/libv8

ただし、Windowsには、Microsoft JavaScriptランタイムであるJScriptが付属している必要があります。これは、Rails(via execjs を介して)自動的に検出して使用します。 therubyracerへの依存関係を削除します。

そのgemのメンテナーとして、これはもちろん私を悲しませますが、あなたの道を歩むはずです。

66
Charles Lowell

これは基本的にNikが行ったことです。

Gemfileで、TheRubyRacer gemを次のように本番環境に分離します。

group :production do
  gem 'therubyracer-heroku', :platform => :Ruby
end

開発環境では、プレーンbundle install doの代わりに

bundle install --without production

または、Nikが示唆しているように、bundle install development。 Herokuにデプロイすると、実稼働環境であるためgemがインストールされます。

Railsの達人:これをより面白くしないように編集を提案してください。

13
Dominic Sayers

これらすべての問題の原因は、therubyracer-0.11.0beta1-x86-mingw32.gemとv8.dllです。

必要なdllとgemファイルをコンパイルし、githubにアップロードしました。

パッケージをダウンロードして、指示に従ってください。

https://github.com/eakmotion/therubyracer_for_windows

10
Hiran

Windows用ビルド があります。 gem install therubyracer-0.11.0beta1-x86-mingw32.gemによって手動でダウンロードおよびインストールできます。

4
Alex

Rails 3.1についてのあなたの質問の一部に答えるために、ここに取引があります...

Rails 3.1は現在、マシンにjavascriptランタイムをインストールする必要があるgemを使用しています。 Macでは、すでに1つあるので、これについて通常心配する必要はありませんが、Linux(およびWindowsも考えます)をインストールする必要があります。そのため、rubyracer、または時々nodeまたはnodejsが提供されるため、時々インストールされます。

ただし、メインのRailsの人たちは、最終的なRails 3.1リリースの前にその依存関係を修正する予定だと言ったので、うまくいけば依存関係が起こるでしょう行って.

2
jdc