在窗户上的therubyracergem

我已经在Windows上和平地开发了,几个星期没有添加任何gem,今天我决定做一个软件包更新,但我无法通过这个名为therubyracer的gem。 我已经安装了开发包,它正在根据文档的validation程序进行工作。

我的问题是:有没有办法在Windows上安装这个gem?

这是为什么现在我正在做一个软件包更新,它被“滑”到轨道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 

不,我不知道目前在windows上安装这个gem。 问题是目前没有预编译的libv8 gem for Windows版本,并且源版本只与* nix兼容。 这不一定非得这样,它只是需要有人花时间来编译Windows的工作。 https://github.com/fractaloop/libv8

也就是说,Windows应该带有一个JScript,即Microsoft的JavaScript运行库,哪个rails(通过execjs )会自动检测和使用,所以你应该能够删除你对therubyracer的依赖。

作为那个gem的维护者,这当然会让我难过,但它应该让你走上正路。

我相信这基本上是Nik所做的:

在您的Gemfile中将TheRubyRacer gem隔离到生产环境中,如下所示:

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

在你的开发环境中,而不是一个简单的bundle install

 bundle install --without production 

或者像Nik所说的那样, bundle install development 。 当你部署到Heroku时,它会安装gem,因为它是生产环境。

Rails大师:请build议编辑,使其不那么烂。

所有这些问题的原因是therubyracer-0.11.0beta1-x86-mingw32.gem和v8.dll。

我已经编译了必要的dll和gem文件,并将它们上传到github。

下载软件包并按照说明进行操作。

https://github.com/eakmotion/therubyracer_for_windows

有build立窗户 。 它可以手动下载并安装gem install therubyracer-0.11.0beta1-x86-mingw32.gem

要回答关于Rails 3.1的部分问题,请点击这里

Rails 3.1当前使用需要在运行时安装的gem。 在Mac上你通常不用担心这个,因为它已经有了,但是Linux(我认为Windows也是)你需要安装一个。 所以,therubyracer,或有时节点或nodejs,有时会安装,因为他们提供。

然而,主要的Rails家伙之一表示他们打算在最终的Rails 3.1发行版之前解决这个依赖关系,所以希望发生这种情况,依赖将会消失。