如何在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-v8
joingem的版本:)
这次没有任何答案适合我。 我也使用这个:
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