10.10 Yosemite에 Rubyracer gem을 설치하는 방법은 무엇입니까?


97

Yosemite 10.10에 Rubyracer gem을 설치할 수 없습니다.

다음은 로그입니다.

11:53 $ gem install libv8 -v '3.16.14.3'---with-system-v8


'--with-system-v8'을 사용하여 기본 확장 빌드
시간이 좀 걸릴 수 있습니다 ...
libv8-3.16.14.3을 성공적으로 설치했습니다.
libv8-3.16.14.3에 대한 구문 분석 문서
libv8-3.16.14.3 용 ri 문서 설치
0 초 후 libv8에 대한 문서 설치 완료
보석 1 개 설치


02:05 $ gem install therubyracer -v '0.12.1'---with-system-v8


'--with-system-v8'을 사용하여 기본 확장 빌드
시간이 좀 걸릴 수 있습니다 ...
오류 : Rubyracer 설치 오류 :
    오류 : gem 기본 확장을 빌드하지 못했습니다.

    /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8
-lpthread에서 main () 확인 중 ... 예
-lobjc에서 main () 확인 중 ... 예
v8.h 확인 중 ... 아니요
*** extconf.rb 실패 ***
어떤 이유로 인해 Makefile을 만들 수 없습니다. 아마도 필요하지 않을 것입니다.
라이브러리 및 / 또는 헤더. 자세한 내용은 mkmf.log 파일을 확인하십시오. 당신은 할 수있다
구성 옵션이 필요합니다.

제공된 구성 옵션 :
    --opt-dir 포함
    --opt-dir없이
    -선택 포함 포함
    --without-opt-include = $ {opt-dir} / include
    --opt-lib 사용
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    --- make-prog없이
    --srcdir =.
    --curdir
    --ruby = / usr / local / var / rbenv / versions / 2.1.2 / bin / ruby
    --pthreadlib 사용
    --pthreadlib없이
    --with-objclib
    --objclib없이
    -디버그 활성화
    -디버그 비활성화
    --v8-dir 사용
    --v8-dir없이
    --with-v8-include
    --without-v8-include = $ {v8-dir} / include
    --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 ': 시스템에있는 V8 버전을 사용하도록 선택했습니다 (Libv8 :: Location :: System :: NotFoundError).
libv8 rubygem과 함께 번들로 제공되는 것은 * 아닙니다 *. 하나,
찾을 수 없습니다. 버전이 있는지 확인하십시오
3.16.14.3과 호환되는 v8이 설치되어 있습니다. 당신은 할 수있다
비표준 인 경우 특별한 --with-v8-dir 옵션이 필요합니다.
위치

감사,
관리

    /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7 : 'configure_makefile'에서
    extconf.rb : 32 : in` '에서

extconf 실패, 종료 코드 1

Gem 파일은 검사를 위해 /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1에 설치되어 있습니다.
결과는 /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에 기록되었습니다. 밖

당신도 요세미티와 함께 문제가 실행 : D
— Dalorzo

알아요, 저는 모험가가되고 싶습니다 :-P
— Nicolas Blanco

1
나는 또한 이것에 문제가 있습니다 나는 양조 설치 v8을 시도했지만 작동하지 않았습니다
— acrogenesis

@sandelius 내 대답 확인
— mmln

답변:


68
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 (루비 2.1.2)에서 저에게 효과가 있었던 유일한 방법입니다.


2
고맙지 만 이것은 libv8입니다. 저는 therubyracer gem에 대해 말하고있었습니다.
— Nicolas Blanco

2
이것이 therubyracer와 관련된 문제를 피하기 위해 필요한 것입니다
— mmln

2
규칙을 어기는 건 상관 없어요. 충분히 감사 할 수 없습니다. 당신은 저를 위해 엄청난 프로젝트 기한을 절약했습니다.
— AKWF

1
감사합니다. 저와 같은 복사 / 붙여 넣기 사용자에게만 작동합니다. 이제 gem install pkg / libv8-3.16.14.7-x86_64-darwin-14.gem
— Christophe Dufour

2
Gemfile을 사용 중이고 여전히 Rubyracer를 설치하는 데 문제가있는 경우 Gemfile.lock에 이미 추가 된 다른 버전의 libv8이 있기 때문일 수 있습니다. 추가 gem 'libv8', '3.16.14.3'(또는 방금 수동으로 설치 한 libv8의 정확한 버전)를 추가하고 번들 업데이트 libv8을 실행하십시오. 그러면 Rubyracer가 설치됩니다.
— Jon Cairns

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

이것이 10.10 (루비 2.1.2)에서 저에게 효과가 있었던 유일한 방법입니다.

또는 gem install libv8 -v 'XX.XX.XX' -- --with-system-v8gem의 버전을 추가 해보세요. :)

Mac OS Catalina 업데이트 :

brew tap homebrew/versions
brew install v8@3.15
brew link --force v8@3.15
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
gem install therubyracer

3
네, 이것은 이상 함없이 도움이되는 것입니다. libv8 오류가 발생하더라도 이렇게하십시오! 감사.
— pjammer 2014

2
네. 이것이 올바른 방법입니다. 특히 최신 10.10 명령 줄 도구로 루비를 다시 빌드 한 경우.
— Pankaj Tyagi 2014

3
OS X Yosemite에서 Ruby 2.1.3으로 나를 위해 일했습니다.
— Sarah Vessels 2014

4
또한 번 들러를 사용 중이고 Gemfile이있는 경우 방금 설치 한 최신 버전으로 조정해야 할 수 있습니다. 예를 들어, (OS X Yosemite에서) 다음을 수행해야했습니다 : gem 'therubyracer', '0.12.1'(버전 추가). 그런 다음 Gemfile.lock을 제거하고 bundle install. 잘 작동합니다.
— paneer_tikka

2
이것은 El Capitan에서도 저에게 효과적이었습니다. 나는 이것이 훨씬 더 간단하고 받아 들여지는 대답이어야한다고 생각합니다.
— rcd

42

이번에는 어떤 답변도 저에게 효과가 없습니다. 나는 이것을 너무 사용했다.

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 문제에서 확인되었습니다.

다른 사람에게 도움이되기를 바랍니다.


감사합니다. 다른 접근 방식은 최신 버전의 종속 보석을 사용하는 El Capitan에서 작동하지 않습니다. (therubyracer는 비참하게이 시점에서 libv8 뒤에 있습니다.)
— 매트 미첼

슬프게도 당신 말이 맞아요 ...이 오류는 루비 버전을 변경할 때마다 저를 미치게 만듭니다.
— 코딩 중독 됨

1
tap homebrew / versions는 이제 더 이상 사용되지 않으므로 더 이상 작동하지 않습니다.
— mattp

1
사실, gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)더 잘 작동합니다. 내 Mac의 디렉토리는 실제로/usr/local/opt/v8@3.15
— Junji Zhi

26

누군가에게 유용 할 수도 있지만 libv8의 문제로 인해 Rubyracer를 설치하는 데 문제가있었습니다. 해결책은 내가 설치 한 모든 libv8 을 제거 하는 것이 었습니다. Rubyracer 설치

$ 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

누군가에게 도움이되기를 바랍니다.


이것은 나를 위해 일한 것 같습니다. 그러나 libv8 gem의 모든 버전을 제거하는 가장 좋은 방법은 다음과 같습니다 gem uninstall libv8 -a -x. 루비 버전 관리자 (예 : rbenv등)를 사용하는 경우 현재 루비 버전에서만 작동합니다 (분명하지 않은 경우).
— xentek

👍이 솔루션이 저에게 효과적이었습니다-El Capitan 10.11.6, Ruby-ruby 1.9.3p448 (2013-06-27 개정 41675)
— sameera207

13

이것이 업스트림에서 수정 된 것 같습니다. 저와 @aurels, @Mike Causer 및 @Juanda에게 효과가 있었던 것은 다음과 같습니다.

bundle update libv8

7

이것은 Yosemite와 Ruby 2.1.5 (Ruby through RVM)에서 매우 잘 작동했습니다.

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에 오류가 발생 했습니다.


7

내 Yosemite, 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

오직이에 대한 rubyracer을 설치 문제 해결 ruby 1.9.3p484과rubyracer 0.12.3
— 마이클 Klishevich

6

이후 루비 레이서로 진행할 수있었습니다. rm Gemfile.lock

미리 :를 통해 v8을 설치 brew install v8한 다음gem install libv8 -v '3.16.14.3' -- --with-system-v8

10.10 Yosemite를 실행 중입니다.


4

최신 버전의 libv8에서이 문제를 수정했습니다. 참조 : https://github.com/cowboyd/libv8/issues/123

github 저장소에서 설치해야합니다. 레일에 다음과 같이 gemfile에 한 줄을 추가했습니다. gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true

편집하다:

이것은 분명히 일부 문제를 해결합니다. 새 버전의 libv8을 설치했지만 이제 rubyracer가 여전히 내 생각에 다른 버전을 찾고 있습니까? 아직 조사 중입니다.


3

요세미티에서도 같은 문제가있었습니다. 내 솔루션은 위에 표시된 것과 유사합니다.

gem uninstall libv8설치할 수있는 모든 것을 제거하는 데 사용 합니다.

Gemfile에 Rubyracer를 그대로두고 libv8에 대한 명시 적 참조를 제거합니다.

을 실행 bundle install합니다.

libv8은 종속성으로 잘 설치되었습니다.


이것은 내 문제였습니다. 여러 버전의 libv8이 서로 싸우고있었습니다. 그것들을 정리하고 번 들러가 의존성을 해결하도록하는 것이 옳은 일이었습니다.
— DavidMann10k 2015-06-22

2

2018 년 답변 업데이트.

나는 Homebrew 1.6.1에서 High Sierra에 있습니다.

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로 이동합니다 .


1

몇 시간 동안 단순히 Ruby를 업그레이드하려고 시도한 후 다음과 같이 작동했습니다.

brew install ruby 

다음을 gem 파일에 추가합니다.

gem 'libv8'  
gem 'therubyracer' 

1

내 문제를 겪고있을 수있는 모든 사람에게 알림 : 결국 RVM에서 내 루비 버전을 제거한 다음 다시 설치했습니다. 루비를 컴파일하기 위해 최신 버전의 xcode 도구에서 올바른 종속성을 사용하는 것 같습니다.

rvm list
rvm uninstall ruby-x.x.x
rvm install ruby-x.x.x

0

나는 다음을했다

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.

설치 후 ruby 2.1.5나도 실행했습니다.

gem upgrade --system

얻기 위해 rubygems-update 2.4.5


0

이것은 libv8과의 충돌로 인해 발생하지만 rubyracer에 버전을 할당하면 설치됩니다.

gemfile에서 다음을 변경하십시오.

gem 'therubyracer', '~> 0.12.1'

번들 설치



0

이 솔루션은 위의 Jakub Troszok 솔루션을 약간만 변경하여 저에게 효과적이었습니다.

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

사소한 변경 사항이 무엇인지 지적하고 왜 작동하는지 설명하십시오. 4 년 된 질문에 답하고 있으므로 해당 버전에 대한 세부 정보도 추가해야합니다 (답은 당시에는 관련이 없었을 수 있음).
— Michal

0

--with-v8-dir=/usr/local/Cellar/v8@3.15/3.15.11.18_1대신 homebrew의 v8 디렉토리를 사용 /usr/local/opt/v8-315하는 것이 중독자의 대답을 코딩하는 데 도움이되었습니다.

이것은 Summarybrew install 명령 에서 볼 수 있습니다 brew install v8-315.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.