如何解决Windows上的therubyracer宝石
| 我一直在Windows上进行和平开发,而现在已经有几周没有添加任何gem了,今天我决定进行捆绑更新,但是我无法通过名为therubyracer的gem进行调试。我已经安装了devkit,它正在按照文档的验证程序运行。 我的问题是:是否可以在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
解决方法
不,我目前尚无法在Windows上安装此gem。问题在于,目前没有适用于Windows的libv8 gem的预编译版本,而源版本仅与* nix兼容。不一定一定要这样,它只需要花些时间使Windows编译工作即可。 https://github.com/cowboyd/libv8
也就是说,Windows应该带有一个JScript,即Microsoft JavaScript运行时,Rails(通过execjs)将自动检测和使用它,因此您应该能够删除对therubyracer的依赖。
作为该宝石的维护者,这当然会让我感到难过,但它应该可以带您上路。
, 我相信,这基本上就是Nik所做的:
在您的Gemfile中,将TheRubyRacer gem隔离到生产环境中,如下所示:
group :production do
gem \'therubyracer-heroku\',:platform => :ruby
end
在您的开发环境中,而不是简单的“ 2”
bundle install --without production
或如Nik所建议的那样,为bundle install development
。当您部署到Heroku时,它将安装gem,因为它是生产环境。
Rails专家:请提出一些建议,以减少麻烦。
, 所有这些问题的原因是therubyracer-0.11.0beta1-x86-mingw32.gem和v8.dll。
我已经编译了必要的dll和gem文件,并将它们上传到github。
下载软件包并按照说明进行操作。
https://github.com/eakmotion/therubyracer_for_windows
, 有用于Windows的版本。可以由gem install therubyracer-0.11.0beta1-x86-mingw32.gem
手动下载和安装。
, 要回答关于Rails 3.1的部分问题,这是要解决的...
Rails 3.1当前使用的gem需要在机器上安装javascript运行时。在Mac上,您通常不必担心这一点,因为它已经安装了一个,但是Linux(我也认为是Windows)需要安装一个。因此,有时会安装therubyracer,或者有时会安装node或nodejs,因为它们提供了。
但是,Rails的主要成员之一表示,他们计划在最终的Rails 3.1发行版之前修复该依赖性,因此希望这种情况会发生,并且依赖性将消失。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。