Json রত্ন ইনস্টল করার সময় ত্রুটি


406

প্রসঙ্গে, এটি ফায়ারওয়াল রয়েছে এমন একটি রিমোট সার্ভারে। আমি একটি প্রক্সি মাধ্যমে আমার পরিবেশ স্থাপন করছি। আমি ruby 1.8.7। আমি যখন রত্ন ইনস্টল করার চেষ্টা করি ..

sudo gem install --http-proxy <host address>:<port> json

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h

Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/json-1.8.1 for inspection.
Results logged to /usr/lib64/ruby/gems/1.8/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

যেহেতু আমি সমস্যাটি কী তা সম্পর্কে নিশ্চিত নই, তাই আমি এটি গুগল করে খুঁজে পেয়েছি

কোন ইঙ্গিত? ধন্যবাদ!


/usr/lib/ruby/ruby.hফাইলের উপস্থিতি পরীক্ষা করুন, যদি এটি উপস্থিত থাকে তবে আমাদের থেকে ত্রুটি বার্তা দেখান gem_make.out
3 Скрылевъ

উত্তর:


785

মিমোরালিয়া অনুসারে আধুনিক যুগের আপডেট :

আপনি রুবি ২.০ বা ২.২ ব্যবহার করছেন (ধন্যবাদ @ প্যাট্রিক-ডেভী)।

sudo apt-get install ruby2.0-dev
sudo apt-get install ruby2.2-dev
sudo apt-get install ruby2.3-dev

বা, সাধারণ উপায়:

sudo apt-get install ruby-dev

অথবা

sudo apt-get install ruby`ruby -e 'puts RUBY_VERSION[/\d+\.\d+/]'`-dev

প্রথম আপনি যে লিংক পোস্ট করেছি ঠিক কোন রুবি উন্নয়ন পরিবেশ ইনস্টল: আপনার কেস। রুবি এক্সটেনশানগুলি সংকলন করতে বিকাশ env প্রয়োজন, যা বেশিরভাগ ক্ষেত্রে লেখা থাকে C। প্রক্সিটির সমস্যার সাথে কোনও সম্পর্ক নেই: সবকিছু ঠিকঠাকভাবে ডাউনলোড হয়েছে, কেবল সংকলন ব্যর্থ হয়।

আমি আপনাকে টার্গেট মেশিনে ruby-dev( ruby-develআরপিএম ভিত্তিক ডিস্ট্রোসের জন্য) প্যাকেজ ইনস্টল করার পরামর্শ দেব ।

gcc প্যাকেজ পাশাপাশি প্রয়োজন হতে পারে।

চেষ্টা করুন:

$ sudo apt-get install ruby-dev

বা, রেডহাট ডিস্ট্রো এর জন্য:

$ sudo yum install ruby-devel

বা, [উন্মুক্ত] সুসেইয়ের জন্য:

$ sudo zypper install ruby-devel

2
ধন্যবাদ! আমি এই প্রশ্নের উত্তরটি মডিউল-নির্দিষ্ট বলে মনে করেছি। আমি পরিবর্তে মনে ruby-devতার ruby-devel। আমার ঠিক কী প্রয়োজন তা এখানেই পেয়েছি - ডিজিটালওশন.
com

9
রুবি-ডেভেল ইনস্টল করার পরে (ফেডোরায় ২০), আমি ত্রুটি পেয়েছিলাম *** extconf.rb ব্যর্থ হয়েছে ***। আপনার পরামর্শ অনুসারে একবার gcc ইনস্টল করুন, সবকিছু ঠিকঠাক কাজ করেছে।
ওয়েইন রিয়েস্টের

আপনি sudo zypper install ruby-devel
ওপেনসুএসের

এটি উবুন্টুতে কিছুই করে না। অনুপস্থিত প্যাকেজটি হ'ল ruby2.2-dev(বা আপনি যে কোনও সংস্করণ ইনস্টল করেছেন)।
Luís de Sousa

2
নাহ, এই উত্তরটি কোনও সমস্যার সমাধান করতে সহায়তা করে নি। মিমোরালিয়া দ্বারা সঠিক উত্তরটি ।
Luís de Sousa

177

জন্য MacOS 10,14 উপর Xcode 11 , এই Xcode ইনস্টল এবং কম্যান্ড-লাইন টুলস ইনস্টল এবং লাইসেন্স গ্রহণ করার পরেও ঘটতে পারে

sudo xcode-select --install
sudo xcodebuild -license accept

সমস্যাটি হ'ল এক্সকোড 11 ম্যাকস 10.15 এসডিকে জাহাজে যা রুবি 2.6 এর জন্য শিরোনাম অন্তর্ভুক্ত করে তবে ম্যাকোস 10.14 এর রুবি 2.3 এর জন্য নয়। দৌড়ে আপনি যাচাই করতে পারেন যে এটি আপনার সমস্যা

ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

যা ম্যাকোস 10.14 এ এক্সকোড 11 সহ অস্তিত্বহীন পথ প্রিন্ট করে

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

তবে, Xcode 11 এর মধ্যে একটি ম্যাকোস 10.14 এসডিকে ইনস্টল করে /Library/Developer/CommandLineTools/SDKs/MacOS10.14.sdk। অন্যান্য উত্তরের পরামর্শ অনুসারে পুরানো শিরোনাম ফাইল ইনস্টল করে সিস্টেম ডিরেক্টরিগুলি কলুষিত করার প্রয়োজন নেই। পরিবর্তে, এই এসডিকে নির্বাচন করে, উপযুক্ত রুবি 2.3 হেডারগুলি পাওয়া যাবে:

sudo xcode-select --switch /Library/Developer/CommandLineTools
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

এটি এখন সঠিকভাবে মুদ্রণ করা উচিত

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

তেমনি, gem installএসডিকে বাছাই করার সময় কাজ করা উচিত।

বর্তমান এক্সকোড এসডিকে ফিরে যেতে, ব্যবহার করুন

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

14
লেজেন্ড। 10.14.6 এ ঠিক আমার সমস্যা। দু: খ দুবার উত্সাহ দিতে পারে না।
দিয়েগো ফ্রেণীচি

2
আপনি হুজুর, একটি অস্পষ্ট জ্ঞান ওভারলর্ড। অনেক অনেক ধন্যবাদ,
রুবিন

বিস্তারিত তথ্যের জন্য আপনাকে ধন্যবাদ! এটি পরিশেষে কাজ করে, "ERROR: জেকিল ইনস্টল করার সময় ত্রুটি: জেকিল-সাস-কনভার্টারের রুবি সংস্করণ> = 2.4.0 প্রয়োজন requires" এটি আমাকে হাসায়।
নিকোলে ওলশেভস্কি

সেক্ষেত্রে @ নিকোলে ওলশেভস্কি, আপনার বর্তমানে হোমব্রিউয়ের মাধ্যমে রুবি ইনস্টল করতে হবে, বর্তমানে সংস্করণটি ২.6.৫ এ রয়েছে।
জোকি

1
আপনি কোডিং কিংবদন্তি freakin।
আলজোশা নোভাকোভিচ

75

আপনি রুবি ২.০ বা ২.২ (ধন্যবাদ @ প্যাট্রিক-ডেভী) বা ২.৩ (ধন্যবাদ @ জুয়ানিটোফ্যাটাস) ব্যবহার করছেন।

sudo apt-get install ruby-dev
sudo apt-get install ruby2.0-dev
sudo apt-get install ruby2.2-dev
sudo apt-get install ruby2.3-dev

এবং আপনি এখানে প্যাটার্নটি পান ...


6
অথবা, আপনি যদি ২.২ ... ব্যবহার করছেন ...sudo apt-get install ruby2.2-dev
প্যাট্রিকদাভি

@ প্যাট্রিক-ডেভি E: Unable to locate package ruby2.2-dev E: Couldn't find any package by regex 'ruby2.2-dev'
Aparichith

@ ডিডসন সম্ভবত আপনি একটি পুরানো উবুন্টু সংস্করণ ব্যবহার করেছেন। আপগ্রেড করার চেষ্টা করুন।
পিথিকোস

আমিও একই ত্রুটি পেয়েছি এবং আমি লিনাক্স মিন্টের একটি সম্পূর্ণ আপডেট হওয়া সংস্করণ ব্যবহার করছি। আমি মনে করি না ওএস ভেরিসনটি এই সমস্যা।
অ্যান্ড্রু ফকনার 11

2
আপনি যদি উবুন্টুর কোনও পুরানো সংস্করণ যেমন বিশ্বাসযোগ্য (14.04) ব্যবহার করেন তবে রুবির জন্য ব্রাইটবক্স পিপিএ যুক্ত করুন:sudo apt-add-repository -y ppa:brightbox/ruby-ng && sudo apt-get update && sudo apt-get install -y ruby2.2-dev
সিদ্ধু

22

আমিও এই সমস্যার মুখোমুখি হয়েছি কারণ আমি উবুন্টুতে ব্রাইটবক্সের মাধ্যমে রুবি ইনস্টল করেছি এবং আমি ভেবেছিলাম রুবি-দেব রুবির ট্রাঙ্ক। সুতরাং আমি ইনস্টল না। Ruby2.3-dev এটির স্থির করে ইনস্টল করুন:

sudo apt-get install ruby2.3-dev

18

যারা ম্যাক ওএস এক্স এ পাচ্ছেন তাদের জন্য আপনার এক্সকোড কমান্ড-লাইন সরঞ্জামগুলি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালাতে হতে পারে, আপনার কাছে ইতিমধ্যে এক্সকোড ইনস্টল থাকা থাকলেও:

sudo xcode-select --install

এছাড়াও আপনাকে অবশ্যই নিম্নলিখিত কমান্ডটি চালিয়ে XCode এর শর্তাদি এবং সম্মতি জানাতে হবে:

sudo xcodebuild -license

এটি আমার জন্য সঠিক উত্তর ছিল। আমার কোনও রুবি ডেভলপমেন্ট শিরোনাম নেই। একবার আমি xCode ইনস্টল করে আসল কমান্ডটি চালানোর চেষ্টা করেছি। ধন্যবাদ!
মিষ্টি চিলি ফিলি

ওএসএক্সে মোজভেভের সাথে আমাকে এটি চালাতে হয়েছিল:su - $USER -c 'xcode-select --install'
বেলডেন

11

নিম্নলিখিত কমান্ডটি চালানোর জন্য সাইগউইন ব্যবহার করে আমার একই রকম সমস্যা হয়েছে:

$ gem install rerun

আমি নিম্নলিখিত সাইগউইন প্যাকেজ ইনস্টল করে এটি সমাধান করেছি:

  • রুবি-devel
  • libffi-devel
  • জিসিসি কোর
  • জিসিসি-G ++,
  • করতে
  • automake1.15

এটি আমার জন্য /cygdrive/z/.gem/ruby/extensions/x86-cygwin/json-1.8.3/json/ext/parser.so: [BUG] Segmentation fault at 0x0001b8
সিগফাল্টস

rm -rf ~/.gem/কমান্ডটি পুনরায় চালু করে পুনরায় সমাধান করা হয়েছে ।
rr-

ruby-devরাস্পবেরি
পাইতে

11

সর্বাধিক ভোট দেওয়া সমাধান আমার মেশিনে কাজ করে না (লিনাক্স পুদিনা 18.04)। সাবধানতার সাথে দেখার পরে, আমি দেখতে পেলাম যে জি ++ অনুপস্থিত ছিল। সঙ্গে সমাধান

sudo অ্যাপ্লিকেশন g ++ ইনস্টল করুন


1
এটি আমার জন্য উবুন্টু 18.04 এ কাজ করেছিল। কাজ করার আগে g ++ ইনস্টল করার পূর্বে আমাকে একটি সুডো অ্যাপ-গেট ইনস্টল মেকও করতে হয়েছিল।
স্কট লিন্ডার

এছাড়াও উবুন্টুতে 18.04 এ আমার সমস্যাটি ইনস্টল makeএবং g++স্থির করতে পারবেন !
আর্দা


5

এক্সকোড 11 / ম্যাকোস ক্যাটালিনা

এক্সকোড 11 / ম্যাকোস ক্যাটালিনাতে, শিরোনামের ফাইলগুলি আর পুরানো স্থানে নেই এবং পুরানো /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgফাইলটি আর উপলভ্য নয়।

পরিবর্তে, শিরোনামগুলি /usr/includeএখনকার এসডিকে পাথের ডিরেক্টরিতে ইনস্টল করা হয়েছে :

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

এই ডিরেক্টরিটির বেশিরভাগটি আউটপুট ব্যবহার করে খুঁজে পাওয়া যায় xcrun --show-sdk-path। এবং যদি আপনি এই পথটিকে CPATHপরিবেশের পরিবর্তনশীলতে যুক্ত করেন তবে স্ক্রিপ্টগুলি তৈরি করুন (যার মাধ্যমে ডেকে পাঠানো হয় সেগুলিও অন্তর্ভুক্ত)bundle পাঠানো হয় সেগুলি ) সাধারণত এটি সন্ধান করতে সক্ষম হয়।

আমি CPATHআমার .zshrcফাইলটিতে সেট করে এটি সমাধান করেছি :

export CPATH="$(xcrun --show-sdk-path)/usr/include"

একটি নতুন শেল খোলার পরে (বা চলমান source .zshrc), আমি আর ত্রুটি বার্তাটি পাই না mkmf.rb /usr/lib/ruby/ruby.h এ রুবির জন্য হেডার ফাইলগুলি খুঁজে পাচ্ছি না এবং রুবিজেমস সঠিকভাবে ইনস্টল করা হবে properly

নন-ম্যাকোস প্ল্যাটফর্মগুলিতে বিল্ডিংয়ের বিষয়ে নোট

আপনি যদি আইওএস / টিভিএস / ওয়াচওএসের মতো নন-ম্যাকওএস প্ল্যাটফর্মগুলিতে বিল্ডিং করে থাকেন তবে এই পরিবর্তনটি ম্যাপস এসডিকে এই প্ল্যাটফর্মগুলিতে অন্তর্ভুক্ত করার চেষ্টা করবে, বিল্ড ত্রুটির কারণে। সমাধানের জন্য, হয় CPATHলগইন-এ পরিবেশের পরিবর্তনশীল সেট করবেন না , অথবা চলমান অবস্থায় অস্থায়ীভাবে ফাঁকাতে সেট করুন xcodebuild:

CPATH="" xcodebuild --some-args

2
আপনার কি সিপিএটিএইচ তে কোন ডকুমেন্টেশন আছে? এটি সেট করা আমার পক্ষে সমস্যাটি সমাধান করছে না। আমি যখন এটির মানটি প্রথম স্থানে পরীক্ষা করেছিলাম তখন এটি অপরিবর্তিত রয়েছে।
ইলিয়াস করিম

1
gcc.gnu.org/onlinesocs/cpp/En পরিবেশ- Variables.html - আপনি যে ভাষা / সংকলকটি ব্যবহার করছেন তার উপর নির্ভর করে আপনার আলাদা পরিবেশের পরিবর্তনশীল সন্ধান করতে হবে। এটি স্বাভাবিক যে এটি ডিফল্টরূপে আনসেট করা হবে
অ্যারন ব্র্যাজার

এবং, যদি আপনি এটি অন্য কোথাও না দেখে থাকেন তবে
এক্সকোড

এখানে সমস্ত উত্তর থেকে, এটি আমার জন্য কাজ করা একমাত্র সমাধান। আমি আছি Mojave 10.14.6এবং XCode 11.3.1। আপনাকে অনেক ধন্যবাদ, সমাধান করার জন্য আমাকে 1 দিন সময় নিয়েছে: /
ইউজার 2350644

4

ফেডোরা ২১ এবং তারপরে, আপনি কেবল একটি টার্মিনাল খোলেন এবং রুবি ডেভেলপমেন্ট ফাইলগুলি রুট হিসাবে ইনস্টল করুন।

dnf install ruby-devel

2

রুবি-ডেভেল ইনস্টলের পরে আপনাকে জিসিসি ইনস্টল করতে হবে



1

ম্যাক 10.14 এ, শিরোনাম ফাইলগুলি সঠিক জায়গায় ইনস্টল করা আছে বলে মনে হচ্ছে না। অন্যান্য ফিক্সগুলির মতো পথ পরিবর্তন করার পরিবর্তে আমি কেবল এটি চালাতে সক্ষম হয়েছি:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

নির্দেশাবলী অনুসরণ করুন এবং এটি আমার জন্য এই সমস্যার সমাধান করে।


0

আপনাকে কেবল সর্বনিম্ন প্যাকেজ নয় পুরো রুবি ইনস্টল করতে হবে need সঠিক কমান্ডটি ব্যবহার করতে হবে:

sudo apt install ruby-full

নিম্নলিখিত কমান্ডটি সম্পূর্ণ রুবি ইনস্টল করবে না:

sudo apt-get install ruby2.3-dev

0

উবুন্টু 18 এর জন্য, ইনস্টল করার সময় উল্লিখিত লগ ফাইলটি পরীক্ষা করার পরে

/Var/canvas/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nio4r-2.5.2/gem_make.out এ ফলাফল লগইন হয়েছে

সঙ্গে

less /var/canvas/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0/nio4r-2.5.2/gem_make.out

আমি লক্ষ্য করেছি যে makeএটি পাওয়া যায় না। তাই ইনস্টল মেক

sudo apt-get install make

সব কাজ।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.