การติดตั้ง libv8 gem บน OS X 10.9+


212

ฉันพยายามติดตั้ง libv8 3.16.14.3 แต่ได้รับข้อผิดพลาดใน OSX Mavericks โดยใช้ rvm ที่เสถียรและ ruby-1.9.3-p125

นี่คือผลลัพธ์ของการรันคำสั่ง 'gem install libv8':

~/src(branch:master) » gem install libv8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
  ERROR: Failed to build gem native extension.

    /Users/me/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.5
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make[1]: *** [/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a] Error 1
make: *** [x64.release] Error 2
/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
  from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `each'
  from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `verify_installation!'
  from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:26:in `install!'
  from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
  build/gyp/gyp --generator-output="out" build/all.gyp \
                -Ibuild/standalone.gypi --depth=. \
                -Dv8_target_arch=x64 \
                -S.x64  -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
  CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
  LIBTOOL-STATIC /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a


Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3 for inspection.
Results logged to /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/gem_make.out

คำตอบ:


463

นี่เป็นเพราะความจริงที่ว่า OS X 10.9+ ใช้ GCC เวอร์ชัน 4.8 สิ่งนี้ไม่ได้รับการรองรับอย่างเป็นทางการในเวอร์ชันเก่าของ libv8 ดังที่กล่าวไว้ในคำขอดึง ( https://github.com/cowboyd/libv8/pull/95 ) โปรดลองชน libv8 ใน Gemfile (หรือ) a bundle updateควรเพียงพอ หวังว่านี่จะช่วยได้

จาก libv8 README

นำ V8 ของคุณมาเอง

เนื่องจาก libv8 เป็นอินเทอร์เฟซสำหรับเอ็นจิ้น V8 ที่ใช้โดย therubyracer คุณอาจต้องใช้ libv8 แม้ว่าคุณจะติดตั้ง V8 แล้วก็ตาม หากคุณต้องการใช้การติดตั้ง V8 ของคุณเองแทนที่จะสร้างไว้ให้คุณใช้ตัวเลือก --with-system-v8

ใช้ RubyGems:

ติดตั้งอัญมณี libv8 [-v YOUR_VERSION] - - พร้อมกับระบบ -v8

ใช้ Bundler (ใน Gemfile ของคุณ):

การกำหนดค่าบันเดิล build.libv8 - ด้วยระบบ -v8

โปรดทราบว่าหากคุณต้องการรัน V8 ของคุณเองคุณต้องติดตั้งทั้ง V8 และส่วนหัวของมัน (พบใน libv8-dev สำหรับ Debian distros)

นำคอมไพเลอร์ของคุณเอง

คุณสามารถระบุคอมไพเลอร์ที่คุณเลือกโดยการตั้งค่าตัวแปรสภาพแวดล้อม CXX ก่อนการรวบรวมหรือโดยการเพิ่มตัวเลือก --with-cxx = ในการกำหนดค่าบันเดิล:

config มัดกำลัง build.libv8 --with-cxx = เสียงดังกังวาน ++

แก้ไข:

หากปัญหานี้เกิดขึ้นtherubyracerให้ลองทำตามคำแนะนำโดยrider_on_rails ที่นี่ :

ถอนการติดตั้ง gem libv8

อัญมณีติดตั้ง therubyracer -v YOUR_RUBY_RACER_VERSION

ติดตั้งอัญมณี libv8 -v YOUR_VERSION - - พร้อมระบบ -v8


น่าเสียดายที่ฉันไม่สามารถเปลี่ยนเวอร์ชันของ libv8 ในโครงการที่ฉันกำลังดำเนินการอยู่ ฉันจะลดระดับเป็น OSX 10.8 ในตอนนี้!
— tanookiben

35
--with-system-v8FTW!
— JPowell

24
ขอบคุณ! bundle config build.libv8 --with-system-v8 จะช่วยให้!
— Andrey Skuratovsky

7
bundle updateประกันตัวฉันออกจากอาณาจักรแห่งความมึนงงและความ
— อัปยศอดสู

6
ในกรณีที่มีคนได้รับปัญหาต่อไปนี้ด้วยtherubyracerอัญมณีหลังจากแก้ปัญหานี้: stackoverflow.com/questions/23536893/…
— Gustavo Semião-Lobo

219

คุณสามารถติดตั้งเวอร์ชันนั้นใน Mavericks ได้:

gem install libv8 -v 3.11.8.17 -- --with-system-v8

ฉันสามารถยืนยันการใช้งานได้กับ rbenv และ ruby ​​1.9.3p448


5
เหมือนกันสำหรับฉัน - ระบบปฏิบัติการ x 10.9, rbenv และ ruby-2.0.0-p247
— roo

1
ทำงานใน 1.8.7 สำหรับโครงการเก่า :)
— Juan de Dios เอช

3
ทำไมจึงใช้งานได้ ส่วนใดของคำสั่งคือ - แก้ไขด้วยระบบ v8 และมันกำลังทำอะไร?
— David Krider

4
ตามคำแนะนำที่นี่github.com/cowboyd/libv8 libv8 อนุญาตให้คุณใช้ V8 engine รุ่นที่มีอยู่แล้ว ( en.wikipedia.org/wiki/V8_(JavaScript_engine) ) แทนที่จะรวบรวมตัวเอง เป็นการรวบรวมที่เป็นปัญหาใน mavericks เนื่องจากคอมไพเลอร์ C ++ ได้เปลี่ยนไป คุณสามารถรวบรวม libV8 ด้วยตัวเองโดยใช้คำแนะนำที่นี่ ( stackoverflow.com/a/19668162/2012130 )
— Oliver Shaw

5
ทำงานร่วมกับ rbenv และ ruby ​​2.1.1 -gem install libv8 -- --with-system-v8
— แอนดรู

35

โซลูชัน El Capitan สำหรับฉัน:

$ brew install v8
$ gem install libv8 -v REQUIRED_LIBV8_VERSION -- --with-system-v8

REQUIRED_LIBV8_VERSIONสำหรับฉันอยู่ที่ไหน3.16.14.7แต่คุณต้องตรวจสอบว่าอันไหนที่คุณต้องการในชุดของคุณ (นี่คืออันสำหรับราง4.2.5)

คุณอาจต้องเรียกใช้คำสั่งด้านบนในฐานะ superuser (หากอัญมณีและไลบรารีระบบของคุณเป็นส่วนกลาง)


4
คุณไม่ควรใช้ sudo สำหรับการติดตั้งชงหรือติดตั้งอัญมณี สิ่งนี้สร้างปัญหาการอนุญาต
— bendangelo

2
@BenDangelo สิ่งที่คุณพูดถูกต้องอย่างแน่นอน แม้ว่าบางครั้งระบบอาจต้องใช้สิทธิ์รูทสำหรับการติดตั้งซอฟต์แวร์ แต่เป็นวิธีปฏิบัติที่ไม่ดีที่จะใช้ sudo โดยทั่วไป ฉันจะแก้ไขคำตอบของฉันขอบคุณ
— Evgenia Manolova

มันใช้งานได้สำหรับฉัน! ขอบคุณ. นี่เป็นทางออกเดียวที่ทำงานได้
— Charles Hamel

14

เมื่อฉันลองคำตอบที่ยอมรับแล้ว libv8 จะติดตั้งสำเร็จgem install libv8แต่bundle installจะล้มเหลวใน libv8 ฉันคิดว่าbundle installกำลังพยายามติดตั้ง libv8 เวอร์ชันอื่น ฉันสามารถหาวิธีแก้ปัญหาที่เหมาะกับฉันได้

ฉันต้องการ libv8 เพราะ therubyracer ขึ้นอยู่กับมัน ในการติดตั้งฉันได้บันทึกเวอร์ชันที่ล้มเหลวในการติดตั้งในgem_make.outบันทึกสำหรับผู้ดูแล (เส้นทางสำหรับgem_make.outบันทึกจะอยู่ในข้อความล้มเหลว) ในกรณีของฉันคือ 3.16.14.7 (รุ่นนี้อาจมีการเปลี่ยนแปลงเมื่อเวลาผ่านไปในกรณีที่คุณอ่านสามปีนับจากนี้) จากนั้นฉันก็ทำสิ่งนี้

gem install libv8 -v 3.16.14.7 -- --with-v8-lib <- บันทึกการตั้งค่าสถานะที่แตกต่างจากคำตอบที่ยอมรับ

ซึ่งอนุญาตให้ใช้งานได้:

gem install therubyracer

bundle installซึ่งได้รับอนุญาตให้ฉันไปทั้งหมดของฉัน

สิ่งนี้ใช้ได้กับฉันใน OSX Yosemite


ฉันควรทราบว่าการติดตั้งแบบกลุ่มหักสำหรับฉันทันทีหลังจากฉันอัพเกรดเป็น OSX Yosemite ซึ่งเป็นสาเหตุที่ฉันต้องหาวิธีแก้ปัญหานี้
— Steven Hirlston

สิ่งนี้ทำงานได้ดีบน OS X Yosemite ในขณะที่คำตอบอื่น ๆ อีกมากมายไม่สามารถใช้งานได้
— Roy Li

ขอบคุณเพื่อน 'therubyracer' ติดตั้งในที่สุด
— Kiryl Plyashkevich

8

https://github.com/cowboyd/therubyracer/issues/339

วิธีการแก้ปัญหาของ jasonlynes ที่พบในลิงค์นั้นทำให้ฉัน สิ่งอื่นใดไม่ทำงาน

brew install homebrew/versions/v8-315
brew link --overwrite v8-315 --force
gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -v '0.12.2' -- --with-system-v8

1
ฉันไม่อยากจะเชื่อเลยว่าทำไมเรื่องนี้ถึงยังคงเป็นปัญหาในปี 2020 ... ขอบคุณ @ Stefanos.Ioannou นี่เป็นวิธีแก้ปัญหาที่เหมาะกับฉัน
— อับราฮัมมิลาโน

6

คุณสามารถกำหนดค่าบันเดิลแทนการต้องรู้แต่ละรุ่น @ 3.15 สามารถถูกแทนที่ด้วยรุ่นอื่น ๆ

$ brew install v8@3.15
$ bundle config build.libv8 --with-system-v8
$ bundle config build.therubyracer --with-v8-dir=$(brew --prefix v8@3.15)
$ bundle install

1
ใช้งานได้กับ macOS Catalina ขอบคุณ!
— Aleksandr K.

4

ฉันปรับปรุงเพื่อMacOS Catalina @ 10.15ruby 2.6.5และ หลังจากที่ได้รับlibv8และtherubyracerติดตั้งอีกครั้งแม้ว่าฉันจะไม่แนะนำให้อัปเดต macOS เลย (ฉันได้ยินมาว่าrubyน่าจะดี)

ก่อนอื่นฉันต้องอัพเดท XCode

  1. xcode-select --install

ฉันเคยrbenvอัปเดตrubyและตั้งค่าrubyรุ่นด้วยตนเองในการ/Users/<username>/.rbenv/version 2.6.5แม้ว่าสิ่งนี้จะไม่สำคัญหากโครงการของคุณมี.ruby-versionไฟล์

แล้วฉันจะทำความสะอาดทุกรุ่นผมติดตั้งเทียวlibv8(มักจะอยู่ใน/usr/local/opt/) brew uninstall v8,brew uninstall libv8@3.15

  1. brew install v8@3.15

ตอนนี้ทำตามhttps://github.com/cowboyd/libv8#do-i-get-a-binaryฉันติดตั้งแล้ว

  1. gem install libv8 -v '3.16.14.19' -- --with-system-v8

จากนั้นสามารถทำงานได้bundle installโดยไม่มีข้อผิดพลาด


4

ปัญหาของฉันคือตั้งแต่therubyracerเมื่ออัปเดตเป็นmacOS 10.15และruby-2.6.5

และผลงานต่อไปนี้สำหรับฉัน:

brew install v8@3.15

gem install libv8 -v 3.16.14.19 -- --with-system-v8

gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8@3.15


1

ฉันมีปัญหาเดียวกันนี้เมื่อฉันอัพเกรดจาก OSX Mountain Lion เป็น OSX Mavericks คำตอบที่ได้รับการยอมรับนั้นใช้งานได้กับ libv8 แต่ไม่ใช่ตอนที่ฉันไปติดตั้งอัญมณี therubyracer

การอัปเกรดจาก ruby-1.8.7-p354 เป็น ruby-1.8.7-375 ได้ทำการหลอกลวงสำหรับฉัน libv8 (3.16.14.3-x86_64-darwin-13) และอัญมณี therubyracer (0.12.0) ติดตั้งโดยไม่มีปัญหา

สมมติว่าคุณใช้ rbenv:

rbenv versions
  system
  * 1.8.7-p354
  2.0.0-rc2

rbenv uninstall 1.8.7-p354
rbenv install 1.8.7-p375

rbenv versions
  system
  * 1.8.7-p375
  2.0.0-rc2

bundle install

1

สิ่งนี้ใช้ได้ผลดีสำหรับฉัน:

ลองติดตั้งอัญมณีที่รวบรวมล่วงหน้านี้:

https://dl.dropboxusercontent.com/u/7919548/gems/libv8/libv8-3.11.8.17-x86_64-darwin-13.gem (sha1: 5ce07aaf4085fff5a5e10fe018fd6b2203bef3b)

หรือถ้าคุณต้องการสร้างของคุณเอง:

  git clone https://github.com/cowboyd/libv8.git
  cd libv8
  git checkout 3.11
  bundle install
  bundle exec rake clean build binary
  gem install pkg/libv8-3.11.8.17-x86_64-darwin-13.gem

ที่มา: https://github.com/cowboyd/libv8/issues/107

ขอบคุณFelix Bünemannสำหรับการแก้ไข!


1

ฉันลองวิธีแก้ปัญหาหลายอย่างที่ระบุไว้ในคำตอบก่อนหน้านี้ แต่พบว่าการรันบันเดิล (เพื่อติดตั้งอื่น ๆ พลอยที่หายไป) จะพยายามรวบรวม libv8 อีกครั้ง (แม้จะติดตั้งเรียบร้อยแล้วก็ใช้งานได้สำเร็จ --with-system-v8 ) และประสบปัญหาเดียวกัน

ในที่สุดฉันก็พบว่าการลบ libv8 gem นำไฟล์ gem ออกจาก rubygems จากนั้นทำการติดตั้ง.gemไฟล์ด้วยตนเองด้วย--with-system-v8ค่าสถานะที่ใช้งานได้สำหรับฉัน

กล่าวคือ

gem uninstall libv8
gem fetch libv8 -v LIBV8_VERSION
gem install libv8-LIBV_VERSION.gem -- --with-system-v8
bundle

ขอบคุณ คำตอบของ Gaurav Agarwal ที่ทำให้ฉันเดินไปในทางที่ถูกต้อง!


1

สิ่งนี้ไม่ช่วยฉัน ... ไม่ว่าฉันจะทำอะไรอัญมณีของฉันที่ติดตั้งของ therubyracer ยังคงบ่นกับข้อผิดพลาดนี้:

Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Beginning compilation. This will take some time.
Building v8 with env CXX=clang++ LINK=clang++  /usr/local/bin/gmake x64.release ARFLAGS.target=crs werror=no
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
              -Ibuild/standalone.gypi --depth=. \
              -Dv8_target_arch=x64 \
              -S.x64 -Dmac_deployment_target=10.15 -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3 -Dwerror=''
  File "build/gyp/gyp", line 12
    except ImportError, e:
                      ^
SyntaxError: invalid syntax
gmake: *** [Makefile:268: out/Makefile.x64] Error 1

สิ่งที่ช่วยฉันได้ในท้ายที่สุดคือฟอรัมอื่นที่ฉันสะดุดที่https://www.bountysource.com/issues/82833405-libv8-fails-to-build-on-catalina-10-15

ทางออกสุดท้ายที่เหมาะกับฉัน:

ฉันต้องเพิ่มบรรทัดเหล่านี้ในไฟล์. zshrc ของฉัน:

export CXX=clang++
export GYPFLAGS=-Dmac_deployment_target=10.15

จากนั้นฉันต้องเรียกใช้คำสั่งเหล่านี้:

source ~/.zshrc
brew tap homebrew/homebrew-core
brew install v8@3.15
gem uninstall therubyracer
gem uninstall libv8
gem install libv8 -v '3.16.14.19' -- --with-system-v8
gem install therubyracer -v '0.12.3' -- --with-v8-dir=/usr/local/opt/v8@3.15
bundle install

ฉันหวังว่าคนอื่นจะพบว่ามีประโยชน์นี้!



0

ใน MAC-Yosemite พร้อมสภาพแวดล้อม RVM และ ruby-2.1.1

gem install libv8 -v 3.16.14.3 -- --with-v8-lib gem install therubyracer

มันทำงานได้ด้วยความช่วยเหลือของคำสั่งดังกล่าวสามารถยืนยันสิ่งนี้


0

สิ่งที่ใช้งานได้จริงสำหรับฉันคือการอัพเกรดทับทิมเป็น 2.2.0 โดยลบ Gemfile.lock และรวมตัวอีกครั้ง

ทำงานเหมือนจับใจ!


0

นี่คือสิ่งที่ได้ผลสำหรับฉัน

แทนที่3.16.14.7ด้วยรุ่นของคุณ

bundle install
gem install libv8 -v '3.16.14.7' -- --with-system-v8

bundle install
gem uninstall libv8 -v '3.16.14.7' -- --with-system-v8

brew install homebrew/dupes/apple-gcc42

export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2
export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2

bundle install

สิ่งนี้บังคับให้แก่ gcc ที่เก่ากว่าซึ่งน่าจะเป็นตัวช่วยวงดนตรีได้ดีที่สุดและจะทำให้เกิดปัญหาตามมา
— Jim Wrubel

0

ฉันประสบปัญหาคล้ายกันกับ El Cap นี่คือสิ่งที่ฉันทำ

brew tap homebrew/dupes
brew install apple-gcc42

จากนั้น

export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2
export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2

สุดท้าย

brew uninstall v8
gem install libv8 -v 3.11.8.17 -- --with-system-v8

0

ฉันใช้ Xcode เวอร์ชันเบต้าสำหรับโครงการอื่นและลืมไปแล้ว xcode-selectสวิทช์กลับมาพร้อมกับ สิ่งที่ต้องการ:

sudo xcode-select --switch /Applications/Xcode.app/

-6

ลบออกจาก Gemfile:

อัญมณี 'therubyracer',: platforms =>: ruby


2
การเรียงลำดับนี้เอาชนะจุดประสงค์ทั้งหมดของโพสต์นี้
— ด่าน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.