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

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

Мой вопрос: есть ли способ установить этот камень вообще на окнах?

И этот жемчуг будет нужен rails 3.1, и именно поэтому теперь, когда я обновляю пакет, он "поскользнулся" в рельсах 3.0.8 как жест раннего запуска для будущей миграции 3.1?

EDIT, включая 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

Ответ 1

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

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

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

Ответ 2

Это, по сути, то, что сделал Ник, я полагаю:

В Gemfile изолируйте камень TheRubyRacer в производственной среде следующим образом:

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

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

bundle install --without production

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

Rails gurus: предложите изменения, чтобы сделать это менее сочным.

Ответ 3

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

Я выполнил необходимые файлы dll и gem и загрузил их в github.

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

https://github.com/eakmotion/therubyracer_for_windows

Ответ 4

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

Ответ 5

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

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

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