লাইব্রেরি লোড করা হয়নি: /usr/local/opt/readline/lib/libreadline.7.dylib


112

আমি যখন চালানোর চেষ্টা করি তখন আমি rails consoleএই ত্রুটিটি পাই:

/Users/TuzsNewMacBook/.rvm/gems/ruby-2.3.7/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require':
 dlopen(/Users/TuzsNewMacBook/.rvm/rubies/ruby-2.3.7/lib/ruby/2.3.0/x86_64-darwin18/readline.bundle, 9): 
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)

একটি দ্রুত অনুসন্ধান আমাকে এই পোস্টে পেয়েছে এবং আমি কয়েকটি জিনিস চেষ্টা করেছি:

brew reinstall postgresql (এটি প্রকৃতপক্ষে এই প্রকল্পের জন্য ডিবি)

এবং

cd /usr/local/opt/readline/lib    
ln libreadline.8.0.dylib libreadline.6.2.dylib

(আমার পাঠ্যলাইনের সংস্করণটি 8)

এবং brew link readline --force

তবে এগুলির কোনওটিই এটি স্থির করেনি।

আমি সম্প্রতি যুক্ত করেছি pry-coolline, guardএবং guard-livereloadআমার প্রকল্পে রত্নগুলি যদি কোনও পার্থক্য করে (এইগুলির আগে রেলস কনসোল জরিমানা জরিমানা হয়)। আমি সর্বশেষতম ম্যাকোয়াসে চলছে।

(আপডেট) আমি পিএস রেলগুলিকে আমার রেল কনসোল হিসাবে ব্যবহার করছি, যদি এতে কোনও পার্থক্য আসে।

কোন সাহায্য? ধন্যবাদ।


1
চেষ্টা করুনbrew reinstall readline
মিঃ যোশিজি

কাজ করেনি, ধন্যবাদ
জোনাথন তুজমান

আমার জন্য কাজ করেছেন শ্রীযুক্তিজিজি! ধন্যবাদ!
22

উত্তর:


374

ত্রুটিটি অনুসন্ধান করার সময় নিক্ষেপ করা হবে বলে মনে হচ্ছে /usr/local/opt/readline/lib/libreadline.7.dylib

আপনি কি এটিকে সিলেক করার চেষ্টা করেছেন?

সুতরাং যেমন কিছু:

cd /usr/local/opt/readline/lib 
ln -s libreadline.8.0.dylib libreadline.7.dylib

সবেমাত্র চেষ্টা করেছেন ম্যাকস মোজাভেভে, রুবি 2.5.3p105 এবং রেলগুলি 5.2.2 এবং কাজ করেছেন।


ধন্যবাদ হাওজ আমি এটি চেষ্টা করেছি এবং এটি কার্যকর হয়নি। আমার ধারণা আমি এর আগেও এটি চেষ্টা করেছিলাম। আমি অবশ্যই তা অবশ্যই বলতে চাই যে সেই সিমিলিংক এবং lnএমন জিনিস যা আমি আসলে সম্পর্কে কিছু জানি না: /
জোনাথন তুজমান

5
আমি আমার জন্য কাজ করেছি। হয়তো @ জোনাথন তুজমান আপনি কি ভাল দির ছিলেন না? cd /usr/local/opt/readline/lib
ইউলিস বিএন

7
ছিল brew link readline --forceলিঙ্কগুলি তৈরি করতে /usr/local/opt/readline/lib
ক্যান্ডল্যান্ড

আমি পারলে +10 দিই। ধন্যবাদ!
eos87

আসল উত্তরটি brew link readline --forceক্যান্ডল্যান্ডের, যা আমার পক্ষে কাজ করেছিল
রকিব

42

আমার রুবি সংস্করণটি পুনরায় ইনস্টল করা মনে হচ্ছে এটি স্থির হয়েছে:

rvm reinstall 2.3.7

11
এটি উত্তর, যদি আপনি রুবি ইনস্টল করতে rvm ব্যবহার করেন। যদি আপনার রুবি সংস্করণটি আপনার সিস্টেমে আর অস্তিত্বের সাথে রিডলাইনের কোনও সংস্করণের সাথে সংকলিত হয়, তবে আপনাকে নতুন সংস্করণটির সাথে লিঙ্ক করার জন্য রুবি পুনরায় সংযোগ করা উচিত। আমি নিজেই এই ইস্যুটিতে দৌড়েছি, এবং রিডলাইন dy.২dlib সিমেন্টিংয়ের বাইরে রিডলাইন ..২llib এ দাঁড়ানোর জন্য সবকিছুই চেষ্টা করেছি (যা সত্যিই খারাপ ধারণা বলে মনে হয়, যদিও মনে হয় এটি বেশিরভাগের পক্ষে কাজ করেছে, উত্তরটি সমর্থন করে ।)
কিংডন

4
আমি rbenv install 2.5.1আমার প্রসঙ্গে আমার জন্য rbenv এবং একটি ব্যবহার করি। sudo xcode-select -s /Library/Developer/CommandLineToolsআমি অন্য কোথাও যে সমস্যার মুখোমুখি হয়েছি তা ঠিক করার জন্য আমি দৌড়ানোর পরে এই পথটি ছিল । fwiw
কোনও দিকনির্দেশনা

1
আপনি যদি বান্ডলার ব্যবহার করছেন তবে পরবর্তী সময়ে আপনাকে দেখতে পাবেন যে bundle installদেশীয় এক্সটেনশনগুলি দিয়ে আপনাকে রত্নগুলি পুনরায় ইনস্টল করতে হবে।
স্পিউম

27

আপনি কি চেষ্টা করে দেখবেন

cd /usr/local/opt/readline/lib    
ln -s libreadline.8.dylib libreadline.7.dylib

আপনি সঠিক পথে রয়েছেন তবে মনে হচ্ছে রেলগুলি লাইব্রেডলাইন ..ডিলিব এবং লাইব্রেডলাইন ..ডিডলিব ফোল্ডারে নেই in


1
আমি যখন 'ব্রিউ আপগ্রেড' চালনা করি তখনই সমস্যাটি আবার দেখা দেয় তবে সমাধানের কাজটি ঠিকঠাক করে ফিক্স করে
Iwan B.

17

হ্যাঁ, সর্বোত্তম উত্তর হ'ল পুনরায় ইনস্টল করা।

আপনি টাইপ করে সহজেই সংস্করণটি পেতে পারেন:

ruby -v

সাথে rbenv, আদেশটি হ'ল:

rbenv install 2.3.7

সাথে rvm:

rvm reinstall 2.3.7

রেডিস-র্যাক বিরোধ থেকে ইনস্টলড এক্সিকিউটেবলের সাথে রেকের দ্বন্দ্বগুলি থেকে "রাক"rbenv install <ruby-version> দিয়ে রানিং ব্যর্থ হয়েছে । আমাকে দৌড়াতে হয়েছিলrbenv uninstall <ruby-version> && rbenv install <ruby-version>
Hirurg103

6

একটি খুব সহজ সমাধান যা আপনার আরভিএম জেমসেট বা সিম-লিঙ্কিং গ্রন্থাগারগুলি পুনর্নির্মাণের সাথে জড়িত নয়।

আপনার রত্নখণ্ডকে যুক্ত করুন:

gem 'rb-readline'

আপনি যদি বান্ডিলার গ্রুপগুলি করেন

group :development do
  gem 'rb-readline'
end

তারপরে দৌড়াও

> bundle

যদি এটি কাজ না করে তবে আমাকে জানান।


4

বেশিরভাগ ক্ষেত্রে রুবি-অ্যাপ্লিকেশনগুলিতে, এটি এক্সটেনশানযুক্ত রত্নগুলির দ্বারা ঘটে ("এই দেশী এক্সটেনশনগুলি বিল্ডিং" বলে রত্নগুলি), যা এই ক্ষেত্রে, এর নির্দিষ্ট সংস্করণ ব্যবহার করে নির্মিত হয় readline

মূলত, দুটি সমাধান রয়েছে:

হয়, আপনি রত্নটির 8 টি সংস্করণটি অনুপস্থিত সংস্করণে সিমলিংক করতে পারেন। এটি অনেক ক্ষেত্রে কাজ করবে তবে পিছনের সামঞ্জস্যতা যদি ভেঙে যায় তবে তা হবে না।

বা, যদি মণিটি আসলে 8 সংস্করণ সমর্থন করে, আপনি সেই নির্দিষ্ট রত্নটি পুনরায় ইনস্টল করতে পারেন, বা এটি চালিয়ে "প্রাইসটাইন" করতে পারেন gem pristine --all

সম্পাদনা : আপনার "আমি কী চেষ্টা করেছি" এর স্কোপ অনুসারে পোস্টগ্রেএসকিউএল পুনরায় ইনস্টল করা, বাইনারিগুলির মধ্যে একটি যা নির্দিষ্ট সংস্করণ ব্যবহার করে নির্মিত হয়েছে, যার জন্য রিডলাইনের মতো সিস্টেম লাইব্রেরিতে কাজ করার জন্য পুনর্নির্মাণেরও প্রয়োজন হতে পারে।


স্বীকারোক্তি করুন! প্রিস্টাইন এটিও ঠিক করেনি। আমার বর্তমান ডিবির সাথে কোনও সংযোগ না ভেঙে পোস্টগ্র্রেএসকিউএলকে পুনরায় ইনস্টল করা উচিত? (অবশ্যই উত্তরটি "এটি কোনও উদ্বেগের বিষয় নয়", যতদূর আমি যেকোন কিছুই সম্পর্কে জানি)।
জোনাথন তুজমান

4

এই সমস্যাটি পেয়েছেন:

dyld: Library not loaded: /usr/local/opt/mpfr/lib/libmpfr.4.dylib

করছেন ...

cd /usr/local/opt/mpfr/lib/
ln -s libmpfr.dylib libmpfr.4.dylib

আমার জন্য ম্যাকস ক্যাটালিনার জন্য কৌশলটি করেছিলেন


2

সুতরাং Ive এখানে কয়েকটি উত্তর চেক করেছেন তবে আমি মনে করি না যে তারা ভ্যানিলা মোজাভে ম্যাক ইনস্টল করে কাজ করতে পারে। আমি 10.14.4 ব্যবহার করছি যখন আমি এইগুলি করেছি:

  • https://brew.sh থেকে হোমব্রিউ পান

  • $ brew install coreutils: এটি ম্যাকের জন্য gnu কোরিউটিলস pkg ইনস্টল করে, আমরা এটি greadlinkথেকে এটি চাই কারণ ম্যাকোএসএক্সের রিডলিংকটি gnu রিডলিংকের মতো নয়। এটি অত্যন্ত বিভ্রান্তিকর তবে ম্যাকল্যান্ডের জীবন।

  • $ echo 'alias readlink=greadlink' >> ~/.bash_aliasesআমি ম্যাক্স রিডলিংকে কিছুটা অভাব পেয়েছি তাই আমি গ্রিডলিংককে সামনে রেখে বিদ্যমান রিডলিঙ্কটি ওভাররড করেছি। (আপনি এটিকে সমস্ত ব্যবহারকারীর দ্বারা ব্যবহারযোগ্য করে তুলতে পারেন $ alias readlink=greadlink >> /etc/bashrcযার দ্বারা প্রতিটি ব্যবহারকারী এটির ব্যবহার করতে সক্ষম হবেন।

  • $ ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylibআমি ইতিমধ্যে লিঙ্কযুক্ত .8.ফাইলটি '.8.0' এর পরিবর্তে লিঙ্ক করেছি। ফাইল কারণ যদি এটি আপডেট করা হয় .8.1.তবে আমার পঠন লিঙ্কটি লাইব্রেরির বৈশিষ্ট্যগুলি ভাঙ্গা বা মিস করবে না। আমি নিশ্চিত যে 9++ বের হওয়ার আগে আমরা আমাদের ম্যাক্স ফর্ম্যাট করব।


0

আমি ম্যানুয়ালি নেটিভ লাইব্রেরিগুলিকে সিলেকিংয়ের বিরুদ্ধে সুপারিশ করব। ওএস এক্স 10.4 এর মতো, স্ট্যান্ডার্ডটিতে লাইব্রেরির পাথ /usr/includeআর ব্যবহার করা হয় না এবং এসআইপি দ্বারা লক করা থাকে (জিনিসগুলিতে স্থানান্তরিত করতে অসুবিধা বোধ করে)।

অ্যাপল আপনাকে "পুরানো অবস্থান" এ শিরোনাম ইনস্টল করতে সক্ষম হতে একটি "লিগ্যাসি ইনস্টলার" পাঠায়, যা আপনার মাধ্যমে সঠিকভাবে ইনস্টল হওয়া শিরোনামগুলি খুঁজে পেতে আপনার পথটিকে সমাধান করবে brew

cp /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg ~/Desktop && open ~/Desktop/macOS_SDK_headers_for_macOS_10.14.pkg`

কী চলছে সে সম্পর্কে বিস্তারিত লেখার জন্য এখানে দেখুন


এটি কেবল ম্যানুয়ালি সিলেকিংয়ের পরে কাজ libreadline.8.dylibকরেছিল libreadline.7.dylibযা অনুপস্থিত ছিল। অর্থাত্ রান কমান্ড:ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
ডেভিড শুমন

0

দৌড়ানোর সময় আমার সমস্যাটি একই ছিল lftp

স্রেফ দৌড়ানো brew upgradeআমার সমস্যার সমাধান করেছে, যেমন এটি আপডেট হয়েছে (অন্যদের মধ্যে):

readline 8.0.0_1 -> 8.0.1
lftp 4.8.4 -> 4.8.4_2

0

পটভূমি: আমি যখন টিগ ইনস্টল করার চেষ্টা করেছি তখন এটি ঘটেছে, তবে আমি মনে করি এটি একটি সাধারণ সমস্যা যা আপনার কাছে থাকতে পারে যে অন্য কোনও সফ্টওয়্যার চায় এমনভাবে আপনাকে ইনস্টল করা সফ্টওয়্যারটি সঠিকভাবে লিঙ্ক করতে হবে।

আপনি যদি আপনার ম্যাকে রিডলাইন ইনস্টল না পেয়ে থাকেন তবে আপনার চালানো উচিত

brew install readline

আপনি সময়সীমা ইনস্টল করার পরে, ব্রিউ আপনাকে এটি লিঙ্ক করতে বলবে। কিন্তু আসলে আপনি চালিয়ে লিঙ্ক করতে পারবেন না

brew link readline

এমনকি আপনি চালিয়ে লিঙ্ক করতে পারবেন না

sudo brew link readline

ম্যাক ওএস আপনাকে সতর্ক করবে যে এটি অত্যন্ত বিপজ্জনক এবং আপনাকে এটি করা বন্ধ করবে।

রিডলাইনের সর্বশেষ সংস্করণটি ভার্সন 8, সুতরাং আপনি ত্রুটি বার্তাটি দেখতে পাবেন

Library not loaded: /usr/local/opt/readline/lib/libreadline.8.dylib

মিশ্রণ সময়সীমা ইনস্টল

/usr/local/Cellar/readline/8.0.4

সুতরাং আপনার নিজের সফ্টওয়্যারটি ls কমান্ড ব্যবহার করে যে জায়গাটি চায় সেটি আপনাকে ম্যানুয়ালি লিঙ্ক করতে হবে

ln -s /usr/local/Cellar/readline/8.0.4 /usr/local/opt/readline

উপভোগ করুন!

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