gem - ওএস এক্স 10.9+ এ libv8 মণ ইনস্টল করা




rubygems osx-mavericks (11)

Gemfile থেকে সরান:

মণি 'থুরবাইরাস',: প্ল্যাটফর্ম =>: রুবি

আমি libv8 3.16.14.3 ইনস্টল করার চেষ্টা করছি কিন্তু সর্বশেষ স্থিতিশীল আরভিএম এবং রুবি-1.9.3-পি 125 ব্যবহার করে OSX Mavericks এ একটি ত্রুটি পেয়েছি।

এই কমান্ড চালানোর জন্য আউটপুট 'ম্যাক ইনস্টল 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/[email protected]/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/[email protected]/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/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `each'
  from /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `verify_installation!'
  from /Users/me/.rvm/gems/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/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/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/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/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/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/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
  CXX(target) /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
  LIBTOOL-STATIC /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a


Gem files will remain installed in /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3 for inspection.
Results logged to /Users/me/.rvm/gems/[email protected]/gems/libv8-3.16.14.3/ext/libv8/gem_make.out

RAC পরিবেশ এবং রুবি-2.1.1 সংস্করণ সহ MAC-Yosemite এ

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

এটি উপরের কমান্ডের সাহায্যে কাজ করে, এটি নিশ্চিত করতে পারেন।


আমি অন্য প্রকল্পে এক্সকোডের বিটা সংস্করণটি ব্যবহার করছিলাম এবং ভুলে গেছি। xcode-select সঙ্গে ফিরে স্যুইচ xcode-select । কিছুটা এইরকম:

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


আমি ওএসএক্স মাউন্টেন লায়ন থেকে ওএসএক্স ম্যাভারিক্স পর্যন্ত আপগ্রেড করলেও একই সমস্যা ছিল। গ্রহণযোগ্য উত্তরটি libv8 এর জন্য কাজ করে, কিন্তু যখন আমি বুটল ইন্সটল করার জন্য থুরবাইরাস রত্নে যাইনি।

Ruby-1.8.7-p354 থেকে রুবি-1.8.7-375 থেকে আপগ্রেড করা আমার জন্য কৌশল। libv8 (3.16.14.3-x86_64-darwin-13) এবং থুরবাইরাস (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

আমি পূর্বের উত্তরগুলির মধ্যে উল্লেখযোগ্য কয়েকটি সমাধান চেষ্টা করেছি, কিন্তু দেখছি যে চলমান বান্ডিল (অন্যান্য, অনুপস্থিত রত্নগুলি ইনস্টল করার জন্য) libv8 পুনরায়-কম্পাইল করার চেষ্টা করবে (ইতিমধ্যেই --with-system-v8 ব্যবহার করে এটি সফলভাবে ইনস্টল করা হয়েছে) একই সমস্যা থেকে।

অবশেষে, আমি libv8 মণিকে মুছে ফেললাম, রবিজেম থেকে মণির ফাইলটি ফিরিয়ে আনছি, এবং তারপর --with-system-v8 ফ্ল্যাগের সাথে .gem ফাইলটি ম্যানুয়ালি ইনস্টল করার জন্য আমার কাজ করেছে।

অর্থাত

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

গৌরব আগরওয়ালের উত্তরকে সঠিক পথে পরিচালিত করার জন্য ধন্যবাদ!


এটি যে কারণে OS X 10.9+ GCC এর সংস্করণ 4.8 ব্যবহার করছে। এটি পিভিউ অনুরোধের ( https://github.com/cowboyd/libv8/pull/95 ) উল্লিখিত libv8 এর পুরোনো সংস্করণগুলিতে আনুষ্ঠানিকভাবে সমর্থিত নয়। আপনার Gemfile (অথবা) এ libv8 এর সংস্করণটি আপলোড করার চেষ্টা করুন, একটি bundle update যথেষ্ট হওয়া উচিত। আশাকরি এটা সাহায্য করবে.

Libv8 README

আপনার নিজস্ব ভি 8 আনুন

কারণ libv8 তাপমাত্রা দ্বারা ব্যবহৃত V8 ইঞ্জিনের ইন্টারফেস, আপনি যদি lib8 ব্যবহার করতে পারেন, এমনকি যদি আপনার ইতিমধ্যে V8 ইনস্টল করা থাকে। আপনার নিজস্ব V8 ইনস্টলেশানটি ব্যবহার করার পরিবর্তে, এটি আপনার জন্য নির্মিত না থাকলে, --with-system-v8 বিকল্পটি ব্যবহার করুন।

RubyGems ব্যবহার করে:

রম ইনস্টল করুন libv8 [-v YOUR_VERSION] --with-system-v8

Bundler ব্যবহার করে (আপনার Gemfile মধ্যে):

বান্ডেল কনফিগারেশন build.libv8 --with-system-v8

অনুগ্রহ করে মনে রাখবেন যে আপনি যদি নিজের V8 চালাতে চান তবে আপনাকে অবশ্যই V8 এবং তার শিরোনামগুলি উভয় ইনস্টল করতে হবে (ডেবিয়ান ডেস্ট্রসগুলির জন্য libv8-dev পাওয়া যায়)।

আপনার নিজের কম্পাইলার আনুন

সংকলনের পূর্বে CXX এনভায়রনমেন্ট ভেরিয়েবল নির্ধারণ করে বা --with-cxx = বিকল্পটি বান্ডেল কনফিগারেশনে যোগ করে আপনি আপনার পছন্দের একটি কম্পাইলার নির্দিষ্ট করতে পারেন:

বান্ডেল কনফিগারেশন build.libv8 --with-cxx = clang ++

সম্পাদনা:

এই সমস্যাটি therubyracer দ্বারা আনা therubyracer , here rider_on_rails দ্বারা প্রস্তাবিত হিসাবে নিম্নলিখিতটি চেষ্টা here :

মণি আনইনস্টল libv8

মোম থার্মাব্রাসার-ভি YOUR_RUBY_RACER_VERSION ইনস্টল করুন

gem ইনস্টল libv8 -v YOUR_VERSION --with-system-v8 ইনস্টল করুন


এল Capitan সমাধান আমার জন্য:

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

যেখানে আমার জন্য REQUIRED_LIBV8_VERSION 3.16.14.7 ছিল, তবে আপনাকে আপনার বান্ডেলের মধ্যে এটি কোনটি প্রয়োজন তা পরীক্ষা করার প্রয়োজন (এটি রেল 4.2.5 জন্য ছিল)

আপনাকে সুপারউসার হিসাবে উপরের কমান্ডগুলি চালাতে হবে (যদি আপনার রত্ন এবং সিস্টেম লাইব্রেরিগুলি বিশ্বব্যাপী হয়)


সত্যিই আমার জন্য কাজ কি Ruby আপ 2.2.0 আপগ্রেড ছিল, Gemfile.lock অপসারণ এবং আবার উপর bundling।

একটি কবজ মত কাজ!



এটা আমার জন্য জরিমানা করেছে:

এই প্রাক কম্পাইল্ড মণ ইনস্টল করার চেষ্টা করুন:

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

অথবা আপনি যদি নিজের তৈরি করতে চান:

  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

ফিক্স্স বুনিয়ামকে ফিক্স করার জন্য ধন্যবাদ!