How to install therubyracer gem on 10.10 Yosemite?
我无法在Yosemite 10.10上安装therubyracer gem。
这是日志:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 11:53 $ gem install libv8 -v '3.16.14.3' -- --with-system-v8 Building native extensions with: '--with-system-v8' This could take a while... Successfully installed libv8-3.16.14.3 Parsing documentation for libv8-3.16.14.3 Installing ri documentation for libv8-3.16.14.3 Done installing documentation for libv8 after 0 seconds 1 gem installed 02:05 $ gem install therubyracer -v '0.12.1' -- --with-system-v8 Building native extensions with: '--with-system-v8' This could take a while... ERROR: Error installing therubyracer: ERROR: Failed to build gem native extension. /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8 checking for main() in -lpthread... yes checking for main() in -lobjc... yes checking for v8.h... no *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --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:in `configure': You have chosen to use the version of V8 found on your system (Libv8::Location::System::NotFoundError) and *not* the one that is bundle with the libv8 rubygem. However, it could not be located. please make sure you have a version of v8 that is compatible with 3.16.14.3 installed. You may need to special --with-v8-dir options if it is in a non-standard location thanks, The Mgmt from /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile' from extconf.rb:32:in `' extconf failed, exit code 1 Gem files will remain installed in /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 for inspection. Results logged to /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.out |
1 2 3 4 | 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)
或者尝试
1 2 3 4 5 | 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 |
然后只是捆绑你的项目宝石
这是10.10它对我有用的唯一方法(ruby 2.1.2)
这次没有一个答案对我有用。我也用过这个:
1 2 3 4 5 6 7 | 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 |
看到红宝石Github问题。
希望它可以帮助别人。
也许它会对某人有用但我在安装therubyracer时遇到问题(因为libv8存在问题)解决方案是卸载我安装的所有libv8。安装therubyracer
1 2 3 4 5 6 7 8 | $ 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有用的是:
1 | bundle update libv8 |
这对我的Yosemite和Ruby 2.1.5(Ruby通过RVM)非常有用。
1 | gem install libv8 -v '3.16.14.3' -- --with-system-v8 |
之前它给了我libv8 gem版本3.16.14.3的错误
我能够在
预先:
我通过
我正在跑10.10优胜美地
只有这在我的Yosemite,Ruby 2.1.2中适合我:
1 2 3 | 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 |
他们已在最新版本的libv8中更正了此问题。请参阅:https://github.com/cowboyd/libv8/issues/123
你应该从github repo安装,在rails中我添加了一行到我的gemfile,就像这个
编辑:
这显然只能解决一些问题。我安装了新版本的libv8,但现在rubyracer还在寻找另一个我认为的?还在调查它。
我在优胜美地遇到了同样的问题。我的解决方案与上面的解决方案类似。
使用
在您的Gemfile中保留therubyracer,但删除对libv8的任何显式引用。
运行
然后libv8作为依赖项安装得很好。
更新了2018年的答案。
我在High Sierra,Homebrew 1.6.1
1 2 3 4 | 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@3.15/ |
这对我有用吗
由于他原来的答案,信用去了@coding-addicted。
经过几个小时的尝试,只需升级ruby工作:
1 | brew install ruby |
然后将以下内容添加到gem文件中:
1 2 | gem 'libv8' gem 'therubyracer' |
这是因为与libv8的一些冲突,尽管你可以只为rubyracer分配一个版本,它将被安装:
更改gemfile中的以下内容:
gem'therubyracer','?> 0.12.1'
并进行捆绑安装
这个解决方案对我有效,遵循Jakub Troszok的解决方案,只需稍作改动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | gem uninstall libv8 gem install therubyracer -v '0.12.1' Fetching: libv8-3.16.14.19-x86_64-darwin-18.gem (100%) Successfully installed libv8-3.16.14.19-x86_64-darwin-18 Building native extensions. This could take a while... Successfully installed therubyracer-0.12.1 Parsing documentation for libv8-3.16.14.19-x86_64-darwin-18 Installing ri documentation for libv8-3.16.14.19-x86_64-darwin-18 Parsing documentation for therubyracer-0.12.1 Installing ri documentation for therubyracer-0.12.1 Done installing documentation for libv8, therubyracer after 0 seconds 2 gems installed gem install libv8 -v '3.16.14.17' -- --with-system-v8 (if the libv8 version required for your project is different from the one installed by rubyracer) bundle install |
根据以下评论,对我有用的是什么
https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085
是删除Gemfile.lock然后运行bundle install
一个可能遇到我的问题的人:我最终在RVM中卸载我的ruby版本,然后重新安装它。这似乎使用最新版本的xcode工具中的正确依赖来编译ruby。
1 2 3 | rvm list rvm uninstall ruby-x.x.x rvm install ruby-x.x.x |
我做了以下
1 | gem install therubyracer |
现在安装
我使用
1 | CC=/usr/bin/gcc rbenv install 2.1.5 |
我在运行
安装
1 | gem upgrade --system |
获得