Libv8 ইনস্টল করার সময় ত্রুটি: ত্রুটি: রত্নের নেটিভ এক্সটেনশান তৈরি করতে ব্যর্থ


183

আমি একটি রেল প্রকল্প তৈরি করেছি,

rails new test_bootstrap.

সফল হয়েছে।

প্রজেক্টের দিরে সরে গিয়ে রত্নগুলি যুক্ত করলেন

gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "twitter-bootstrap-rails"

এবং চালান

bundle install

তার পরে, আমার এই ত্রুটি আছে।

Installing libv8 (3.16.14.3)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile
지정된 경로를 찾을  없습니다.                                                          지정된 경로를 찾을 
없습니다.                                                          지정된 경로를 찾을  없습니다.

c:/RailsInstaller/Ruby1.9.3/lib/ruby/ge
ms/1.9.1/gems/libv8-3.16.14.3/ext/libv8/builder.rb:58:in `setup_python!': libv8 requires
python 2 to be installed in order to build, but it is currently not available (RuntimeErr
or) from c:/RailsInstaller/Ruby1.9.
3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/builder.rb:42:in `block in build_lib
v8/builder.rb:42:in `block in build_libv8!'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/builder.rb:40:in `chdir'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/builder.rb:40:in `build_libv8!'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/location.rb:24:in `install!'
        from extconf.rb:7:in `<main>'                                                    


Gem files will remain installed in c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/l
ibv8-3.16.14.3 for inspection.
Results logged to c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ex
t/libv8/gem_make.out
An error occurred while installing libv8 (3.16.14.3), and Bundler cannot
continue.
Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.

কিছু কোরিয়ানদের জন্য দুঃখিত এটি বলে, এটি নির্বাচিত পথ বা এর মতো কিছু খুঁজে পাচ্ছে না।

এবং আমি এই আদেশটি চালানোর চেষ্টা করেছি

gem install libv8 -v '3.16.14.3' 

একই ত্রুটি নিক্ষেপ।



আমি এটি পেয়েছি, আমাকে অজগরটি ইনস্টল করতে হবে এবং পথ নির্ধারণ করতে হবে। এবং এখন এটি কাজ করে। আশা করি মানুষ এই থ্রেড দিয়ে সমাধান করবে। stackoverflow.com/questions/10812696/…
Canna

মুখে উপহারের ঘোড়াটি দেখবেন না :) লাইবভি 8 এবং নোড.জেএস এর আশেপাশে বাস্তুতন্ত্রের জন্য ডেবিয়ানের সুরক্ষা সহায়তার অভাব থেকে : "নোড.জেএস প্ল্যাটফর্মটি libv8-3.14 এর শীর্ষে নির্মিত হয়েছে, যা সুরক্ষার একটি উচ্চ পরিমাণ অনুভব করে experiences সমস্যাগুলি রয়েছে, তবে বর্তমানে প্রকল্পের মধ্যে কোনও স্বেচ্ছাসেবক বা সুরক্ষা দল নেই যারা আগত সমস্যাগুলি
রোধ

উত্তর:


612

আর একবার চেষ্টা কর:

gem install libv8 -v '3.16.14.3' -- --with-system-v8

দ্রষ্টব্য: যেহেতু libv8 হ'ল থ্রুবাইরেসর দ্বারা ব্যবহৃত V8 ইঞ্জিনের ইন্টারফেস, তাই আপনার V8 ইতিমধ্যে ইনস্টল থাকা সত্ত্বেও, আপনাকে libv8 ব্যবহারের প্রয়োজন হতে পারে। আপনি যদি নিজের ভি 8 ইনস্টলেশনটি ব্যবহার করতে চান তবে এটি নিজের জন্য তৈরি না করে --with-system-v8বিকল্পটি ব্যবহার করুন ।

আরও জন্য আপনি গিথুব এ libv8 এর ডকুমেন্টেশন যেতে পারেন


6
আমি যে ব্যবহার। এটি ঠিক আছে, তবে 'বান্ডিল' চালানোর সময় আমার ত্রুটি রয়েছে
সুক্রেনোয়ার

10
এই অংশটি কাজ করেছে তবে থ্যুরবায়ারসার ইনস্টল করার সময় আমি এখনও একটি ত্রুটি পেয়েছি। এটি আমাকে libv8 এর আগে যা পেয়েছিল তার অনুরূপ একটি ত্রুটি দেয় "বান্ডিল করার আগে নিশ্চিত হয়ে নিন যে এ জাতীয় এবং এই জাতীয় সাফল্য অর্জন করা" তবে যখন আমি 'রত্ন ইনস্টল থারুবাইসর' চালানোর চেষ্টা করি তখন আমি "রত্নের দেশীয় সম্প্রসারণ তৈরি করতে ব্যর্থ হয়েছি"। ত্রুটি
ষাট

1
উপরের মূলটিতে দেওয়া যুক্তিটি সহ আমি এটি আনইনস্টল এবং পুনরায় ইনস্টল করি। কাজ না করে. আমার ত্রুটি An error occurred while installing libv8 (3.16.14.3), and Bundler cannot continue.এবং Bundler::GemspecError: Could not read gem at /home/gitlab/gitlab/vendor/bundle/ruby/2.1.0/cache/libv8-3.16.14.3-x86_64-linux.gem. It may be corrupted. পুরো অপসারণ ক্যাশে ফোল্ডারের এবং পুনরায় রান bundle install --full-index --deployment --without development test postgres aws। কাজ করে।
নিক ডং

1
পারফেক্ট! gem install libv8 -v '3.16.14.3' -- --with-system-v8ওএস এক্স 10.11 এ আমার জন্য কাজ করেছে।
জগদীপ সিং

আমি দেখতে পেয়েছি যে এটি কোনও সিস্টেম v8 খুঁজে পাচ্ছে না, তাই করায় brew install v8সহায়তা করা হয়েছে। : এই উত্তর এ নির্দেশিকাগুলি এখানে অনুসরণ stackoverflow.com/questions/24081473/...
redfox05

154

কিভাবে libv8 / থেরুবাইরেসার সমস্যা সমাধান করবেন

আমি একইরকম সমস্যার মুখোমুখি হয়েছি যার মধ্যে libv8 ইনস্টল করার পরে, থ্রুবাইরেসার ইনস্টল করার সময় ত্রুটি ঘটে। এখানে আমার সমাধান:

$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
   
$ bundle install

- থেরুবাইরেসার ইনস্টল করার সময় ত্রুটি দেখুন -

$ gem uninstall libv8

$ brew install v8

$ gem install therubyracer

$ bundle install

- libv8 ইনস্টল করার সময় ত্রুটি দেখুন -

$ gem install libv8 -v '3.16.14.3' -- --with-system-v8

4
এই জবাবটিতে উল্লিখিত পদক্ষেপগুলি সর্বোত্তমভাবে কাজ করে, আমাদের প্রথমে রত্নটি ইনস্টল করতে হবে libv8, থেরুবায়ারসার ইনস্টল করার আগে সিস্টেমটি প্রশস্ত v8 ইনস্টল করার জন্য আনইনস্টল করুন (রত্নটি --bith- সিস্টেম-ভি 8 পতাকা সহ libv8 ইনস্টল করুন) :)
পার্থান

1
আমি মনে করি না তোমার প্রথম পদক্ষেপের দরকার আছে। বান্ডেল ইনস্টল চালানোর আগে, সিস্টেমটি ভি 8 ইনস্টল করতে ব্রু ব্যবহার করুন। তারপরে থেরুবাইসর রত্ন এবং libv8 রত্ন দুটি হাতে ইনস্টল করুন। এবং বান্ডেল ইনস্টল চালান। তবে আমি এখনও চেষ্টা করে দেখিনি।
gitb

এটি আমার জন্য ওএসএক্স 10.10.5 এ কাজ করেছে রুবি 2.1.2p95 এর সাথে libv8 3.16.14.11
মাইকেল ওকলি

3
'3.16.14.3' পরিবর্তন সংস্করণ বান্ডিল যা চালানোর চেষ্টা করছে তা পরিবর্তন করতে ভুলবেন না আপনি যখন বান্ডেল ইনস্টল করবেন তখন এটি কাজ করবে না
জোনাথন ব্লক

লিবিভি '3.16.14.11' এর জন্য রুবি 1.9.3 এর সাথে 10.12 (সিয়েরা) এর জন্যও কাজ করেছেন
sojourner

47

হোমব্রু দিয়ে এটি আমাকে এই ত্রুটিটি সমাধান করতে সহায়তা করে।

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

রুবিরেসার গিথুব ইস্যুতে দেখা গেছে।


এটি আমার পক্ষে কাজ করেছে, যদিও এটি ব্রিউয়ের মাধ্যমে ভি 8 এর একটি পুরানো সংস্করণ ইনস্টল করে।
সঞ্জয় 10

1
প্রতিবার আমি রুবি সংস্করণে স্যুইচ করলে এই ত্রুটিটি আমাকে পাগল করছে। আমি মনে করি আপনি ভি 8 সংস্করণ বিকল্প এবং এটি পাওয়ার পথটি সামঞ্জস্য করার চেষ্টা করতে পারেন।
কোডিং আসক্ত

কেবলমাত্র এই সমাধানটি আমার পক্ষে কাজ করে, সমাধানের জন্য ধন্যবাদ
AMIC MIN

@ কোডিংডডিক্টড আপনি কি কখনও কখনও এই ত্রুটিটি ঘটতে রাখছেন বলে চিত্রিত করেছেন? আমি একটি নতুন প্রকল্পের জন্য রুবি এবং রেলগুলি আপডেট করেছি এবং আমার পুরানো প্রকল্পের জন্য যখন আমি একটি নতুন শেল খুলি তখন সর্বদা এই ত্রুটিটি পাই। আরভিএম এই সংস্করণ সংক্রান্ত সমস্যাগুলি পরিচালনা করবে বলে মনে করা হচ্ছে, তবে প্রতিবার আমার পুরানো প্রকল্পের জন্য একটি নতুন শেল খোলার সময় আমার উপরে আপনার আদেশগুলি করা চালিয়ে যাওয়া দরকার।
iamse7en

@ iamse7en যতদূর আমার মনে আছে আমাকে রুবি প্রতিটি সংস্করণে চালাতে হবে। আমি রুবি আপডেট করার সময় আমি এই ত্রুটিটি দেখছিলাম (তবে আমি গত মাসে এতটা রুবি করিনি এবং আমি বিভিন্ন সংস্করণ দিয়ে খেলিনি)।
কোডিং আসক্ত

43

আমি উপরের কমান্ডের তালিকাভুক্ত সমাধানটি চেষ্টা করেছি যা পৃথক মণি ইনস্টল করার জন্য খুব সূক্ষ্ম দেখায়, তবে বান্ডিলার ব্যবহারকারীদের জন্য - আপনার বান্ডেল কনফিগারেশন ব্যবহার করা উচিত

ব্যবহার

bundle config build.libv8 --with-system-v8 

এবং

bundle config build.therubyracer --with-system-v8

নির্দিষ্ট রত্ন ইনস্টল করার সময় ব্যবহৃত পরামিতিগুলি নিতে বান্ডলারকে কনফিগার করতে


6
যে কোনও কারণে আমার বান্ডিল কনফিগারেশনের জন্য সঠিক বিল্ড (যা নীচে আসক্তির উত্তর কোডিংয়ের মাধ্যমে bundle config build.therubyracer --with-v8-dir=/usr/local/opt/v8-315
মেশানো

7

আমি মনে করি না যে আপনার therubyracerউইন্ডোতে রত্ন দরকার । এটি ভি 8 ইঞ্জিন ব্যবহার করে একটি জাভাস্ক্রিপ্ট রানটাইম। সুতরাং এটি ইনস্টল করার চেষ্টা করছে libv8

আপনি আপনার রত্ন থেকে নিরাপদে রত্নটি সরাতে পারেন।

রেলগুলি এটি ব্যবহার করতে পারে যা কখনও রানটাইম খুঁজে পেতে পারে তা ব্যবহার করে খুশি। execjs, nodejsইত্যাদি সমস্ত সম্ভাব্য বিকল্প।

মাইক্রোসফ্ট উইন্ডোজে জাভাস্ক্রিপ্টের জন্য ইতিমধ্যে জেএসক্রিপ্ট রানটাইম এম্বেড করেছে এবং রেলগুলি এটি ব্যবহার করে। আরও জন্য এটি দেখুন


6

সমস্যা সমাধানের জন্য অন্যান্য কর্মসীমা হ'ল এগুলি জেমফাইলে পৃথক করা

group :production do
 gem 'libv8', '~> 3.11.8.3'
 gem 'therubyracer', :platform => :ruby
end

এবং তারপরে বান্ডেল কমান্ডটি চালান: বান্ডেল ইনস্টল করুন - ছাড়াই উত্পাদন


এটি @ লিটমাসের উত্তরের সাথে একযোগে কার্যকরভাবে কাজ করে কারণ এটি উইন্ডোতে ডেভলপমেন্ট সেটআপটি না ভেঙে আপনি কীভাবে কনফিগারেশনে রত্নটি রক্ষা করতে পারবেন (যা সম্ভবত স্থাপনার জন্য প্রাসঙ্গিক হবে) shows
গ্লেনাট্রন

3

আমি ব্যবহার করার পরিবর্তে এই রত্নটি ইনস্টল করতেও অক্ষম ছিলাম

--with-system-v8

একবার বান্ডিল আপডেট করার চেষ্টা করুন যা আমার পক্ষে ভাল কাজ করেছে


3

গিথুব এ পেয়েছি

ধরে নিই যে আপনি উপরোক্ত উল্লিখিত পদক্ষেপগুলি ব্যবহার করে দেখেছেন, ব্রিউয়ের মাধ্যমে v8-315 এবং v8 ইনস্টল করেছেন।

brew unlink v8
brew link --force v8-315
gem install therubyracer -v '0.12.2' -- --with-system-v8

2

সেটা আমার জন্য কাজ করে. এটি আপনার জেমফাইলে রাখুন

রত্ন 'libv8', '3.> 3.16.14.7'


এই সমাধানটি আমাকে দিকে নিয়ে যায় bundle install --no-deploymentএবং তারপরে আমার পক্ষে bundle installকাজ করে
সিমো

2

আমার সমস্যা সঙ্গে সম্পর্কিত ছিল না therubyracerমাত্র এ libv8মণি এবং @ rishav-ভরদ্বাজ উল্লেখ হিসাবে --with-system-v8কৌতুক করতে হয়নি, পরিবর্তে আমি Exec ছিল

bundle update

তারপর

bundle install

এবং পরিশেষে

Bundle complete!

ত্রুটি চলে গেছে!

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. An error occurred while installing libv8 (3.16.14.7), and Bundler cannot continue. Make sure that `gem install libv8 -v '3.16.14.7'` succeeds before bundling.


1

আমার ক্ষেত্রে আমি 'mini_racer', '~> 0.2.6' আমার জেমফাইলে প্রয়োজনীয়তার দ্বারা এই পরিস্থিতিটি সমাধান করেছি

তারপরে বান্ডেল ইনস্টল কমান্ড কাজ করে।


0

দিয়ে চেষ্টা করুন

রত্ন "থারুবাইরেসার", জেমফাইলে "0.> 0.10.2"

এবং এটি নির্ভরশীল রত্ন libv8 (3.3.10.4) ইনস্টল করবে এবং রত্নের দেশীয় বর্ধনের ব্যর্থতার বিষয়টি সমাধান হয়ে গেল।


0

3.16.14.7নীচের কমান্ডটি ব্যবহার করে libv8 ইস্যু সমাধান করা হয়েছে :

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

এবং তারপর bundle installসফলভাবে সম্পন্ন।


0

আমি অনুভব করি যে এটি libv8 এর সাথে কম এবং থেরুবাইরেসারের সাথে আরও কিছু করতে পারে।

রেলস অ্যাপে বান্ডিল ইনস্টল চালানোর সময় আমি আপনার একই ত্রুটি পেয়েছি। আপনি যদি একইভাবে এর মুখোমুখি হয়ে থাকেন তবে এর মতো বান্ডিলের বাইরে রত্নটি ইনস্টল করার চেষ্টা করুন:

gem install therubyracer

তারপরে বান্ডিল ইনস্টল চালান। আমি আশা করি এটি আপনার জন্যও কার্যকর হবে।


0

libv8এবং ব্যবহার করতে আমারও সমস্যা ছিল mini_racer। সমস্যাটি সমাধান করেছেন olved

brew install v8

bundle update libv8 mini_racer

সর্বশেষতম সংস্করণগুলি ব্যবহার করে mini_racer 0.2.10এবং libv8 7.3.492.27কবজির মতো কাজ করেছে।


0

আমি আমার স্থানীয় নীচের আদেশগুলি চেষ্টা করেছিলাম, এটি কার্যকর হয়েছে:

brew install v8@3.15
gem install libv8 -v 'YOUR_VERSION' -- --with-system-v8
gem install therubyracer -v 'YOUR_VERSION' -- --with-v8-dir=/usr/local/opt/v8@3.15
bundle install
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.