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.3p484rubyracer 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.