রুবি / হোমব্রিউ / আরভিএমকে কীভাবে যোসোমেটে কাজ করবেন?


118

ইয়োসেমাইট ইনস্টল করার পরে, আমি ব্রু বা রুবি চালাতে অক্ষম।

ব্রিউ আপডেটে আমি এই ত্রুটিটি পেয়েছিলাম:

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0

আইআরবিতে এই ত্রুটি পাওয়া:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:infu_mkdir'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:inreverse_each'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:ineach'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in mkdir_p' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:210:inwrite_gem_make_out'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:132:in build_error' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:171:inrescue in build_extension'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:156:in build_extension' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:inblock in build_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in each' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in block in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:inuse_ui'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:inbuild_extensions'
from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:inblock in find_inactive_by_path'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:infind'
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:intry_activate'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:150:in block in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:158:inblock in each_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:167:in each_sublocale' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:157:ineach_localized_path'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:145:in search_file' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:124:infind'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:108:in load' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:32:ininitialize'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:in new' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:ininit_config'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:16:in setup' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb.rb:380:instart'
from /usr/bin/irb:12:in `'

উত্তর:


281

এই ত্রুটিটি নিম্নলিখিত পদক্ষেপগুলিতে সহজেই সংশোধন করা যেতে পারে:

1) ওপেন টার্মিনাল

2) প্রকার nano /usr/local/Library/brew.rb

3) প্রথম লাইনে "1.8" থেকে "বর্তমান" পরিবর্তন করুন, সুতরাং এটির মতো দেখতে হবে:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

http://blog.ic3man.gr/2014/06/homebrew-ruby-bad-interpreter-no-such-file-or-directory/ এর মাধ্যমে


14
যখন আমি এই পরিবর্তন করতে, আমি ভুল পান "Homebrew চিতা বা উচ্চতর প্রয়োজন টাইগার সমর্থন জন্য, দেখুন:। github.com/mistydemeo/tigerbrew " যদিও আমি Yosemite চলছি
scientiffic

4
Please, commit your changes or stash them before you can merge.আপনি brew updateদুর্ভাগ্যক্রমে চেষ্টা করার সময় এটি একটি ত্রুটি দেয় ।
নাওয়েস গোল্ডেন

10
"সি" অবশ্যই বর্তমানের জন্য মূলধন করাতে হবে#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
ডায়াবলো

@ ডায়াব্লো আমি বিশ্বাস করি এটি 10.10.1 এ আপডেট হয়েছিল। আগের সংস্করণে "সি" মূলধন ছিল না। ধন্যবাদ।
raz0r

1
আমি পেয়েছি Homebrew requires Leopard or higher- আমি নীচের উত্তরটি অনুসরণ করেছি এক্সকোড কমান্ড লাইন সরঞ্জামগুলি ইনস্টল করুন এবং এটি এখন কাজ করে: stackoverflow.com/a/24225960/1062936
গ্রেগ

39

আমি ইয়োসেমাইটে আপডেট করেছিলাম এবং পরে জানতে পারি brewএটি ভেঙে গেছে।

/usr/local/bin/brew: /usr/local/Library/brew.rb: 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0

যদি আপনি এখনও মদ তৈরি করার জন্য কোনও পরিবর্তন না করেন, তবে আমি এখানে যা প্রস্তাব দিচ্ছি তা এখানে। অন্যথায় নীচে আরও পড়ুন।

  1. cd /System/Library/Frameworks/Ruby.framework/Versions/
  2. sudo ln -s Current 1.8
  3. brew update
  4. sudo unlink 1.8

ইতোমধ্যে ব্রিউ ফাইলগুলিতে পরিবর্তন করেছেন এবং গিট মেসে আটকে আছেন?

আমি সম্পাদনা করার চেষ্টা করেছি /usr/local/Library/brew.rbকিন্তু আমার গিট রেপোতে স্থানীয় পরিবর্তনগুলি brew updateআপডেটগুলি টানতে বাধা দিচ্ছিল । আমি এই পৃষ্ঠায় এবং অন্যান্য সাইটগুলি থেকে উল্লিখিত কিছু অন্যান্য সমাধান চেষ্টা করেছি এবং আমি একটি গিট গণ্ডগোলের সাথে শেষ করেছি এবং আমি যা করতে চেয়েছিলাম তা তৈরি করার জন্য আমি যা কিছু করেছি তা পূর্বাবস্থায় ফিরিয়ে আনা হয়েছিল।

আমি আমার পরিবর্তনটি প্রতিশ্রুতিবদ্ধ করেছি কিন্তু এটি পরিস্থিতি আরও খারাপ করেছে। অবশেষে আমাকে আমার প্রতিশ্রুতিগুলি পূর্বাবস্থায় নিয়ে যেতে git reset --hard HEAD~1হয়েছিল এবং আমি যতক্ষণ না সঠিক প্রতিশ্রুতিতে ছিলাম। আমারও খুব একটা রূপান্তরিত ফাইলের জগাখিচুড়ি ছিল (আমি / usr / স্থানীয় ফাইলের অনুমতিগুলি পরিবর্তন করেছি) তাই আমি এমন একটি কাজ git clean -f -dকরেছি যা সমস্ত রূপান্তরিত ফাইল এবং ডিরেক্টরিগুলি সরিয়ে ফেলেছে এবং কোনও পরিবর্তন করার আগে আমাকে যেখানে শুরু হয়েছিল সেখানে ফিরে এসেছি।


3
এই উত্তরটি কাজ করেছে (গিট গণ্ডগোল পূর্বাবস্থায় অন্তর্ভুক্ত সহ) যেখানে শীর্ষে ভোট দেওয়া উত্তর আমাকে গিট সমস্যা দিয়ে ফেলেছে।
স্টিভ এম

আপনার সিস্টেম আপগ্রেড করার পরে খুব দরকারী! ধন্যবাদ
কোডিং আসক্ত হয়েছে

এটি এল ক্যাপিটনে "ln: অপারেশন অনুমোদিত নয়" এর সাথে রুটলেস মোডের কারণে ব্যর্থ হয়। আপনি এখানে একটি কার্যনির্বাহী সন্ধান
জর্জি অর্টিজ

37

এটি ঠিক করার পদক্ষেপ:

  1. এক্সকোড 6 এর জন্য কমান্ড লাইন সরঞ্জাম ইনস্টল করুন

  2. পুনরায় ইনস্টল করুন বারু:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. ব্রু ইনস্টল হয়ে গেলে, আরভিএম কাজ করবে:

    rvm install ruby

আমার জন্য কাজ করেছেন, ইয়াহু!


আমি রুবি আপ এবং দৌড়াতে পেরেছি, কিন্তু এটি এখনও আমার পক্ষে কাজ করছে না: stackoverflow.com/questions/24113251/…
এডেন

আমি আরভিএম এবং এনগিনেক্সকে সম্পূর্ণরূপে সরিয়ে নিয়েছি এবং এক্সকোড 6 বিকাশকারী সরঞ্জাম ইনস্টল করার পরে সেগুলি পুনরায় ইনস্টল করেছি। এখন এটি একটি কবজির মতো কাজ করছে।
wout

1
এটি আমার পক্ষেও কাজ করেছে, কেবলমাত্র এই কমান্ডটি পদক্ষেপ 1: xcode- নির্বাচন
জেমস টমি

33

স্ক্রিপ্ট সম্পাদনা করার অর্থ brew updateকাজ করবে না; ট্র্যাক করা ফাইলগুলিতে স্থানীয় সম্পাদনা রয়েছে যা কারণে git pullব্যর্থ হয়।

আমি এটি করেছি, যা আমি সন্দেহ করি যে এটি ক্লিনার:

cd /usr/local/Library
git pull -q origin refs/heads/master:refs/remotes/origin/master

থেকে কোন অভিযোগ নেই brew doctor


যখন আমি এটি করি, আমি অনতিযুক্ত ফাইলগুলি সম্পর্কে একটি ত্রুটি পেয়েছি যা মার্জ হওয়ার আগে অবশ্যই সরানো উচিত। এগুলি লাইব্রেরি / ফর্মুলা / এ সমস্ত ফাইল।
septerr

ধরে নিই যে আপনি কোনও কিছু সম্পাদনা করেননি, যখন আমার সাথে এটি ঘটে তখন এর অর্থ আমার brew doctorকিছু নির্দেশনা চালানো এবং অনুসরণ করা দরকার follow সমস্যাটি হ'ল brew doctorসম্ভবত আপনি যদি এখানে থাকেন তবে আপনার পক্ষে কার্যকর হয় না। আপনি কেবল সক্ষম হতে git stashএবং চালিয়ে যেতে সক্ষম হতে পারেন ।
ওটো

7

এটি অন্যান্য লোকের পোস্টের উত্তরগুলির পাশাপাশি গুগলে কিছুটা খনন করার সমষ্টি, তবে আমি অনুভব করেছি যে আমি এটি রেখে দিয়েছি যাতে সম্পূর্ণ উত্তর এক জায়গায় থাকে। বিশেষত এটি এখন কাজ করার জিনিসগুলি পায়, তবে আপনাকে সাধারণ হিসাবে ব্রিউ আপডেটগুলি করতে দেয় এবং সবকিছু আবার পরিষ্কার করে দেয়।

  1. খুলুন / শ্রোতা / লোকাল / লাইব্রেরি / ব্রেকো.আরবি (ইমাস / ভিআই / ন্যানো / যাই হোক না কেন)
  2. পড়তে প্রথম লাইন পরিবর্তন করুন: #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0। আপনি কেবল "বর্তমান" -এর লাইনে থাকা "1.8" পরিবর্তন করছেন (নিশ্চিত করুন যে আপনি মূলধন "সি" রেখেছেন অন্যথায় গিটটি বিভ্রান্ত হয়ে যাবে))
  3. cd $(brew --repository)
  4. git add Library/brew.rb
  5. git commit -m "upgrading to ruby 2.0"
  6. brew update(বা sudo brew updateযদি আপনার বারুইটি কেবলমাত্র সুডো দিয়ে সিস্টেম পরিবর্তন করতে সেটআপ হয়)

ক্রেডিট: এগুলি অনেকগুলি এখান থেকে এসেছে , যদিও আমি সত্যই git commit -amআপনার / usr / স্থানীয় ফোল্ডারে কাজ করার বিরুদ্ধে সুপারিশ করি ।


এটি আমার জন্য কাজ করা একমাত্র সমাধান। এরকম ঘন ঘন সুপার কুরুচিপূর্ণ জঞ্জালগুলির কারণেই আমি আমার পরবর্তী অ্যাপের জন্য রুবি এবং রেলগুলি থেকে দূরে সরে যাচ্ছি।
দেবোরাহ

3

আগে যেমন বলেছেন: 1) বর্তমান 2 তে পরিবর্তন করুন) এক্সকোড 6 ইনস্টল করুন

আপনার যদি এখন ব্রু এবং রুবি নিয়ে আরও সমস্যা হয় তবে এটির সহায়তা করা উচিত: একরকম সংস্করণ ১.৮ সংস্করণে রুবি দরকার, তাই ফোল্ডারটি তৈরি করুন:

sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin

এবং একটি সিমিলিংক তৈরি করুন:

sudo ln -s /usr/bin/ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

ধন্যবাদ! এটি আমার জন্য একমাত্র সমাধান যা কাজ করেছিল;)
আলেজানড্রপ

2

এই টিউটোরিয়ালটি এখানে দেখুন: http://ryantvenge.com/2014/09/ruby-homebrea-yosemite/

এটা আমার জন্য কাজ!


যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
বুনমি

1

আমি নিম্নলিখিত হিসাবে এটি স্থির করেছি :

  1. sudo chown -R $(whoami):admin /usr/local
  2. cd $(brew --prefix) && git fetch origin && git reset --hard origin/master


0

দ্রষ্টব্য: আপনি যদি সম্পূর্ণ ব্যর্থ অবস্থায় পড়ে থাকেন তবে কেবল নীচেরটি করুন, কারণ এটি খুব বিপজ্জনক

একটি উদাহরণ হিসাবে আমি পেতে রাখা

do sudo ln -s বর্তমান 1.8

w ব্রিউ আপডেট

/usr/local/Library/brew.rb:18:in ': অপরিবর্তিত পদ্ধতি সহায়তা?' [“আপডেট”] এর জন্য: অ্যারে (NoMethodError)

আমি কেবল এটি পেয়েছি ... (কমান্ডটি কেবল কমান্ডটি দিয়ে "আপডেট" সরিয়ে দেয় না কেন) আমি বন্ধু /usr/localফোল্ডারটি জিজ্ঞাসা করে সমস্যার সমাধান করেছি । আমি তখন আমার /usr/localফোল্ডারের একটি ব্যাকআপ তৈরি করেছি ।

sudo এমভি / ইউএসআর / স্থানীয় / ওএসআর / লোকাল.ওরিগ

আমি তখন তার সরানো /usr/localখনি

sudo এমভি Download / ডাউনলোডগুলি / স্থানীয় / ইউএসআর / স্থানীয়

দ্রষ্টব্য: আপনি সম্ভবত কিছু ডেটা হারাবেন তাই ব্যাকআপ নেওয়ার বিষয়টি নিশ্চিত করুন।


-1

প্যাকেজ ম্যানেজার ব্যবহার করে রুবি ইনস্টল করার চেষ্টা করতে আমার সমস্যা হয়েছিল। এই প্রোগ্রামগুলির ন্যায্যতায় আমি তাদের সাথে সামান্য অভিজ্ঞতা থাকার কথা স্বীকার করেছি এবং অন্যান্য উত্তরদাতাদের বেশিরভাগের মতো গভীর খনন করার চেষ্টা করিনি। আমি অলস এবং বেশিরভাগ opsys পছন্দ এবং অনেক প্যাকেজের জন্য বাইনারি ইনস্টলার ব্যবহার করতে পছন্দ করি। দুর্ভাগ্যক্রমে, রুবি একটি সরবরাহ করে বলে মনে হচ্ছে না।

আমি রুবি-বিল্ডটি সহজেই ইনস্টল করতে পেলাম (একা দাঁড়িয়ে থাকুন - প্লাগইন নয়) এবং এটি রুবিকে ত্রুটি ছাড়াই উত্স থেকে তৈরি করেছিল এবং যেখানে আমি এটি চেয়েছিলাম সেখানে এটি স্থাপন করে।

বিঙ্গো - সহজ :) আমাদের প্যাকেজ ম্যানেজারের চ্যালেঞ্জপ্রাপ্ত প্ররোচিতদের জন্য এটি একটি ভাল বিকল্প বলে মনে হচ্ছে।

রাতের পাহারাদার

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