如何在10.10优胜美地上安装therubyracergem?

我没有设法在优胜美地10.10上安装therubyracergem。

这里是日志:

 11:53 $ gem install libv8 -v'3.16.14.3' -  --with-system-v8使用'--with-system-v8'构build本机扩展这可能需要一段时间...成功安装libv8-3.16 .14.3parsinglibv8-3.16.14.3的文档安装libv8-3.16.14.3的ri文档完成在0秒后安装libv8的文档1 gem installed 02:05 $ gem install therubyracer -v'0.12.1' -  --with- system-v8使用'--with-system-v8'构build本机扩展这可能需要一段时间...错误:安装therubyracer时出错:错误:无法构buildgem本机扩展。  /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8检查main()in -lpthread ...是检查main()in -lobjc .. 。是检查v8.h ...没有*** extconf.rb失败***由于某种原因无法创buildMakefile,可能缺less必要的库和/或头文件。 检查mkmf.log文件以获取更多详细信息。 您可能需要configuration选项。 提供的configuration选项:--with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib  - without-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =。  --curdir --ruby = / usr / local / var / rbenv / versions / 2.1.2 / bin / ruby​​ --with-pthreadlib --without-pthreadlib --with-objclib --without-objclib --enable-debug --disable-debug --with-v8-dir --without-v8-dir --with-v8-include --without-v8-include = $ {v8-dir} / include --with-v8-lib  - -without-v8-lib = $ {v8-dir} / lib /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/ext/ libv8 / location.rb:50:在`configure'中:你已经select使用系统上发现的V8版本(Libv8 :: Location :: System :: NotFoundError),而不是*与libv8捆绑的版本rubygem。 但是,它无法find。 请确保您已经安装了与3.16.14.3兼容的v8版本。 如果在非标准的位置,你可能需要特别的--with-v8-dir选项,谢谢,来自/usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1的Mgmt。 0 / gems / libv8-3.16.14.3 / lib / libv8.rb:7:在`configure_makefile'中从extconf.rb:32:在``extconf失败,退出代码1 Gem文件将保持安装在/ usr / local / var /rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1进行检查。 logging到/usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/therubyracer-0.12.1/gem_make的结果。出 
git clone https://github.com/cowboyd/libv8.git cd libv8 bundle install bundle exec rake clean build binary gem install pkg/libv8-3.16.14.3-x86_64-darwin-12.gem #note that libv8 version may change, so tab through files in pkg/, also remember to use the one with version specified 

那么就捆绑你的项目gem

这是它在10.10上工作的唯一方式(ruby 2.1.2)

 gem uninstall libv8 brew install v8 gem install therubyracer gem install libv8 -v '3.16.14.3' -- --with-system-v8 

这是它在10.10上工作的唯一方式(ruby 2.1.2)

或者试试gem install libv8 -v 'XX.XX.XX' -- --with-system-v8joingem的版本:)

这次没有任何答案适合我。 我也使用这个:

 brew tap homebrew/versions brew install v8-315 gem install libv8 -v '3.16.14.13' -- --with-system-v8 gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315 bundle install 

看rubyracer Github的问题。

希望它可以帮助别人。

也许它会对某人有用,但是我在安装therubyracer时遇到问题(因为libv8的问题)解决scheme是卸载我安装的所有libv8。 安装therubyracer

 $ gem uninstall libv8 $ gem install therubyracer -v '0.12.0' Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem ( 57%) Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem (100%) Successfully installed libv8-3.16.14.7-x86_64-darwin-14 Building native extensions. This could take a while... Successfully installed therubyracer-0.12.0 2 gems installed 

我希望这可以帮助别人。

似乎这已经在上游得到了解决。 对我和@ aurels以及@Mike Causer和@Juanda有效的是:

 bundle update libv8 

这对我的优胜美地和Ruby 2.1.5(通过RVM的Ruby)非常有效,

 gem install libv8 -v '3.16.14.3' -- --with-system-v8 

之前,它给了我错误Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 为libv8 gem版本3.16.14.3

rm Gemfile.lock之后,我能够继续使用ruby racer

事先:我通过brew install v8 ,然后gem install libv8 -v '3.16.14.3' -- --with-system-v8

而我正在运行10.10优胜美地

他们已经在最新版本的libv8中纠正了这个问题。 请参阅: https : //github.com/cowboyd/libv8/issues/123

你应该从github回购安装,在rails中,我添加了一行到我的gemfile,像这个gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true

编辑:

这显然只能解决一些问题。 我安装了libv8的新版本,但现在rubyracer仍然在寻找另一个我认为的? 仍然在看着它。

只有这在我的优胜美地,Ruby 2.1.2中才适用:

 gem install libv8 -v '3.16.14.3' -- --with-system-v8 brew link --overwrite v8-315 --force gem install therubyracer -v '0.12.2' -- --with-system-v8 

我在约塞米蒂有同样的问题。 我的解决scheme与上面显示的相似。

使用gem uninstall libv8删除任何可能安装。

将therubyracer保留在Gemfile中,但删除对libv8的明确引用。

运行bundle install

libv8然后作为一个依赖安装好。

我做了以下

 gem install therubyracer 

它现在安装了therubyracer 0.12.1 ,它安装了没有错误安装的依赖项libv8 (3.16.14.7 x86_64-darwin-14)

我做了这个使用ruby 2.1.5 ,我通过安装:

 CC=/usr/bin/gcc rbenv install 2.1.5 

我运行brew upgrade ruby-builds后,我做brew upgrade ruby-builds

安装ruby 2.1.5 ,我也跑了

 gem upgrade --system 

得到rubygems-update 2.4.5

这也是由于与libv8的冲突造成的,尽pipe您可以将一个版本分配给rubyracer,它将被安装:

在gemfile中更改以下内容:

gem“温热”,“〜0.12.1”

并做捆绑安装

基于以下评论,对我而言,

https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085

是删除Gemfile.lock,然后运行捆绑安装

经过几个小时的简单升级ruby工作:

 brew install ruby 

然后将以下内容添加到gem文件中:

 gem 'libv8' gem 'therubyracer' 

一个人可能会遇到我的问题:我结束了在RVM中卸载我的Ruby版本,然后重新安装它。 这似乎在最新版本的xcode工具中使用正确的依赖来编译ruby。

 rvm list rvm uninstall ruby-xxx rvm install ruby-xxx