therubyracer драгоценный камень на окнах

Я мирно разрабатывал для Windows, не добавляя никаких драгоценных камней в течение нескольких недель, и сегодня я решил сделать пакетное обновление, но я не могу пройти через этот драгоценный камень под названием therubyracer. У меня установлен devkit, и он работает в соответствии с процедурой проверки документации.

Мой вопрос: есть ли способ установить этот драгоценный камень вообще на Windows?

И будет ли этот драгоценный камень востребован в 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

5 ответов

Решение

Нет, я не знаю, как установить этот драгоценный камень на Windows. Проблема в том, что в настоящее время нет предварительно скомпилированной версии гема libv8 для Windows, а исходная версия совместима только с *nix. Это не обязательно должно быть так, просто нужно, чтобы кто-то нашел время, чтобы компиляция работала для Windows. https://github.com/fractaloop/libv8

Тем не менее, Windows должна поставляться с JScript, средой выполнения Microsoft JavaScript, которую рельсы (через execjs) будут автоматически обнаруживать и использовать, поэтому вы сможете просто удалить свою зависимость от therubyracer.

Как хранитель этого драгоценного камня, это, конечно, заставило бы меня огорчиться, но оно должно помочь вам в этом.

По сути, это то, что сделал Ник, я считаю:

В вашем Gemfile изолируйте гем TheRubyRacer для производственной среды, например:

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

В вашей среде разработки вместо простого bundle install делать

bundle install --without production

или, как предполагает Ник, bundle install development, При развертывании в Heroku он установит гем, потому что это производственная среда.

Гуру Rails: пожалуйста, предложите правки, чтобы сделать это менее отстойным.

Причиной всех этих проблем является therubyracer-0.11.0beta1-x86-mingw32.gem и v8.dll.

Я собрал необходимые библиотеки dll и gem и загрузил их на github.

скачайте пакет и следуйте инструкциям.

https://github.com/eakmotion/therubyracer_for_windows

Существует сборка для окон. Он может быть загружен и установлен вручную gem install therubyracer-0.11.0beta1-x86-mingw32.gem,

Чтобы ответить на часть вашего вопроса о Rails 3.1, вот сделка...

Rails 3.1 в настоящее время использует гем, который требует, чтобы на компьютере была установлена ​​среда исполнения javascript. На Mac вам обычно не нужно беспокоиться об этом, поскольку он уже есть, но Linux (и я думаю, что и Windows) вам нужно установить. Итак, therubyracer, или иногда node или nodejs, иногда устанавливаются, поскольку они предоставляют это.

Однако один из основных ребят из Rails сказал, что планирует исправить эту зависимость до финального релиза Rails 3.1, так что надеюсь, что это произойдет, и зависимость исчезнет.

Другие вопросы по тегам