হোমব্রিউ: সিমলিংক করা যায়নি, / ইউএসআর / স্থানীয় / বিন লেখার যোগ্য নয় [বন্ধ]


361

ইনস্টল করার সময় tig, HomeBrewনির্ভরতা ইনস্টল করার সময় নিম্নলিখিত সমস্যাগুলি প্রদর্শন করা হয়:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/a2x
/usr/local/bin is not writable.

You can try again using:
  brew link asciidoc

3
এই stackowerflow.com অন্তর্গত নয় বরং superuser.com বা askdifferent.com
Ondra Žižka

উত্তর:


582

অ্যালেক্সের উত্তর অনুসরণ করে আমি এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি; এটি প্যাকেজ ইনস্টল করার ক্ষেত্রে নির্দিষ্ট নয় তবে homebrewফোল্ডারের অনুমতিগুলির ক্ষেত্রে এটি নির্দিষ্ট একটি সমস্যা বলে মনে হচ্ছে ।

sudo chown -R `whoami`:admin /usr/local/bin

কিছু প্যাকেজগুলির জন্য আপনার এগুলি করতে /usr/local/shareবা /usr/local/opt:

sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/opt

25
বর্তমান / ইউএসআর / স্থানীয় / বিনকে বর্তমান ব্যবহারের জন্য পুনরায় ব্যবহার করা কি সিস্টেমকে বা অন্য ব্যবহারকারীদের কোনও সমস্যা দেয় না?
ডন গিউলিও

10
sudo chown -R হুয়ামি আপনার প্রকৃত ব্যবহারকারীর নামটি :admin /usr/local/binবদলে দেওয়ার পরিবর্তে উত্তরে কমান্ডের সমতুল্য হবে না yourusename?
জেসন সোয়েট

5
আমাকেও usr/local/optপুনরাবৃত্তভাবে ডুবে যেতে হয়েছিল । এটা তার পরে কাজ করে।
অ্যাট্রিপস

5
আমার Mac (10.9.5) অনুমতি /usr/local/bin(এবং বন্ধুদের) প্রত্যাবর্তন করতে মনে drwxr-xr-x+এবং root wheelপ্রতিদিন। প্রতিবার আমি চাইলে পার্সগুলি পুনরায় কনফিগার করতে হবে brew install। আমি ধরে নিই যে ওএস আমাকে সুরক্ষিত করার জন্য পার্স রিসেট করছে? আমি কীভাবে এটি বন্ধ করতে পারি? (আমি চেষ্টা করেছি chflags uchg …কিন্তু এটি
মেশানো

1
আমি আমার অ্যাকাউন্টটিকে "চাকা" গোষ্ঠীতে যুক্ত করেছি। এটি আমাকে "sudo chmod -R g + w / usr / local" করতে দেয় - এটি গ্রুপের সদস্যদের "চাকা" ফোল্ডারে লিখতে দেয়। এই সংবেদনশীল ফোল্ডারগুলির মালিককে মূলের চেয়ে কম সুরক্ষিত অ্যাকাউন্টে পরিবর্তন করা নিরাপদ বলে মনে হয়।
মাইকেল ক্রেবস 21

220

কোনও নির্দিষ্ট কমান্ড চালানোর পরিবর্তে, আমি চালানোর brew doctorএবং সমস্ত সতর্কতাগুলিকে গুরুত্ব সহকারে নেওয়ার পরামর্শ দেব । আপনি আটকে যাচ্ছেন এমন আরও কিছু সমস্যা থাকতে পারে যা এই প্রশ্নটিতে ধরা পড়ে না।

এছাড়াও, বারু যেমন সময়ের সাথে আপডেট হয়, নির্দিষ্ট কমান্ডগুলি বৈধ থাকতে পারে বা নাও পারে। brew doctorতবে যাইহোক, এটি নিশ্চিত করবে যে আপনি আপ-টু ডেট সমস্যার সমাধান করবেন।


9
আপনার উত্তরটি কম জনপ্রিয় বলে আমি বিশ্বাস করতে পারি না। এটি অবশ্যই উপরে বর্ণিত অনুমানের চেয়ে আরও বুদ্ধিমান।
ফেয়ারফ্যাক্সের রবার্ট

34
brew doctorসমস্যাটি সমাধান করবে না, এটি আপনাকে কেবল এটি সম্পর্কে বলে দেবে এবং আপনি যখন ডাক্তারের পরামর্শ নেবেন, তখন ব্রিউ বলে যে এটি এটি করতে পারে না। এটি কোনও সমাধান নয়
কীথ টাইলার

8
হয়তো কেউ এর উন্নতি করেছে। এখন চোলাইয়ের ডাক্তার পরামর্শ দেয় যে আমি সর্বাধিক জনপ্রিয় উত্তরের অনুরূপ একটি সিএমডি চালাই এবং এটি করার পরে মদ তৈরি করা সিমলিংক কাজ করে। আমি একটি ম্যাকের উপর আছি, সুতরাং আমরা এটি কতক্ষণ স্থায়ী তা দেখতে পাব। :-)
জোশুয়া রিচার্ডসন

2
এটি খুব দরকারী ছিল ধন্যবাদ। উপরের পরামর্শটি মিস করার জন্য কিছু অন্যান্য বিশেষ ডিরেক্টরি স্থির করে।
সুইমবাইকআরুন

6
ব্রিউ চিকিত্সা একেবারে সমস্যা সরবরাহ করেছে এবং ম্যানুয়াল সমাধানও সরবরাহ করেছে!
নেট্রক্স

74

অন্য উত্তরগুলি যথাসম্ভব যথাযথ, তবে তারা কেন উত্তর দেয় না কেন এই সমস্যাটি ঘটছে এবং কীভাবে এই মূল কারণটির সমাধান করা যায়।

কারণ

এই ইস্যুতে দুটি সম্ভাব্য কারণ রয়েছে:

  1. আপনি বর্তমানে ব্যবহার করছেন এমনটি বাদে অন্য কোনও ব্যবহারকারীর সাথে হোমব্রু ইনস্টলেশনটি সঞ্চালিত হয়েছিল। হোমব্রিউ প্রত্যাশা করে যে কেবলমাত্র এটি ব্যবহারকারী যে এটি ইনস্টল করেছে তা কখনই এটি ব্যবহার করতে চাইবে।
  2. আপনি কিছু সফ্টওয়্যার ইনস্টল করেছেন যা ব্রিউ ব্যবহার না করে / ইউএসআর / স্থানীয়কে লিখুন। এটি কারণ হিসাবে brew doctorপরামর্শ দেয়, যদি আপনি এটি চালান।

সমাধান

মাল্টিউজার হোমব্রু

আপনার যদি একাধিক ব্যবহারকারীর অ্যাকাউন্ট থাকে এবং আপনি যদি এর মধ্যে একটিরও বেশি ব্রু ব্যবহার করতে সক্ষম হন তবে আপনাকে কয়েকটি পদক্ষেপের মধ্য দিয়ে চলতে হবে, অন্যথায় আপনি ব্যবহারকারীদের স্যুইচ করার সময় নিয়মিত হোমব্রু ফাইলের কাঠামোর মালিকানা পরিবর্তন করতে হবে, এবং এটি একটি দুর্দান্ত ধারণা নয়।

বিস্তারিত নির্দেশাবলী অনলাইনে পাওয়া যাবে , তবে দ্রুত উত্তরটি হ'ল:

  1. ব্রিউ নামে একটি গ্রুপ তৈরি করুন :

    1. সিস্টেমের পছন্দগুলি খুলুন
    2. অ্যাকাউন্ট ক্লিক করুন
    3. "+" ক্লিক করুন (প্রয়োজনীয় হলে প্রথমে আনলক করুন)
    4. নতুন অ্যাকাউন্টের অধীনে গ্রুপ নির্বাচন করুন
    5. মেশান প্রবেশ করুন
    6. গ্রুপ তৈরি করুন ক্লিক করুন
  2. মদ তৈরির গোষ্ঠীটি নির্বাচন করুন এবং আপনি যে ব্রাউজগুলিতে এটি ব্যবহার করতে চান তা যুক্ত করুন।
  3. / usr / স্থানীয় ফোল্ডার গোষ্ঠীর মালিকানা পরিবর্তন করুন: sudo chgrp -R brew /usr/local
  4. / ইউএসআর / স্থানীয়ভাবে গ্রুপ হিসাবে লেখার যোগ করার অনুমতিগুলি পরিবর্তন করুন: sudo chmod -R g+w /usr/local
  5. হোমব্রিউ ক্যাশে ডিরেক্টরি গোষ্ঠী পরিবর্তন করুন: sudo chgrp -R brew /Library/Caches/Homebrew
  6. হোমব্রিউ ক্যাশে ডিরেক্টরি অনুমতিগুলি পরিবর্তন করুন: sudo chmod -R g+w /Library/Caches/Homebrew

একক ব্যবহারকারী হোমব্রু

আপনি যদি হোমব্রিউ দিয়ে একাধিক ব্যবহারকারীকে ব্যবহার করার চেষ্টা করছেন না, তবে অন্যান্য পরামর্শগুলির পরামর্শের ভিত্তিতে প্রদত্ত সমাধান brew doctorসম্ভবত যথেষ্ট যথেষ্ট:

sudo chown -R $(whoami) /usr/local

sudo chown -R $(whoami) /Library/Caches/Homebrew

প্রতিপাদন

এই পদক্ষেপগুলির পরে, ব্রিউ গ্রুপের brew doctorযে কোনও ব্যবহারকারীর দ্বারা সাফল্যের রিপোর্ট করা উচিত , ধরে নিয়েই আপনি নতুন গ্রুপ সদস্যতা প্রয়োগ করতে লগ আউট করেছেন এবং ফিরে এসেছেন (যদি আপনি মাল্টিউসার রুটে চলে যান)। আপনি যদি কেবল একক ব্যবহারকারীর হোমব্রুয়ের জন্য জিনিসগুলি সংশোধন করেন তবে আপনার গ্রুপের সদস্যপদগুলির কোনওটি পরিবর্তিত না হওয়ায় লগ আউট এবং পিছনে ফিরে আসার প্রয়োজন হবে না।


2
ধন্যবাদ! আমার সম্ভবত ইউনিক্স ব্যবহারকারী গ্রুপগুলি সম্পর্কে আরও পড়তে হবে। যুক্তিটি যথেষ্ট পরিমাণে হজম করতে এটি কীভাবে কাজ করে সে সম্পর্কে আমি পুরোপুরি নিখুঁত। তবে এটি খুব বুদ্ধিমান শোনায়, পয়েন্টারের জন্য ধন্যবাদ!
জিক্কু জোস

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

1
তাই কোনও গ্রুপের ফাইলগুলির সেট সিস্টেমের অনুমতি সিস্টেমটি ক্লাব করার এটি একটি সহজ উপায় যাতে একাধিক ব্যবহারকারী একসাথে সমস্ত অনুমতি প্রয়োগ করতে স্বাচ্ছন্দ্যে যুক্ত করা যায়?
জিক্কু জোস

2
এটি আমার ব্রিউ লিঙ্ক সমস্যাগুলি স্থির করে দিয়েছে, আপনাকে ধন্যবাদ।
কিথ টাইলার

তবুও আমাকে সংবেদনশীল ডিরেক্টরি যেমন /usr/local/binগ্রুপ-লিখনযোগ্য, এসএসপি রাখা কিছুটা বিপজ্জনক বলে আঘাত করে । একাধিক ব্যবহারকারীর পরিবেশে। এটি কি আসলেই "অফিসিয়াল" মদ তৈরির পথ?
corwin.amber

67

যারা সন্ধান করছেন /usr/local/sbinতাদের পক্ষে লিখনযোগ্য ত্রুটি নয়:

আপডেট: এটি /usr/local/someOtherFolderNameউদাঃ হতে পারে /usr/local/include। আপনার কেবল এটির সাথে ফোল্ডারটি তৈরি করতে হবে:

  • sudo mkdir someOtherFolderName

প্রথমে sbinফোল্ডারটি তৈরি করুন , নোট করুন যে এর জন্য sudoসুবিধাগুলি প্রয়োজন

  • cd /usr/local

  • sudo mkdir sbin

  • sudo chown -R $(whoami) $(brew --prefix)/*

  • brew link yourPackageName


6
এটি আমার পক্ষে কাজ করেছিল
রবিন

আমার আমার b / .বাশ_প্রফাইলে ডিরেক্টরিটি যুক্ত করার দরকার ছিল:PATH=$PATH:/usr/local/sbin
জুলিয়েন

কয়েক ঘন্টা অনুসন্ধানের পরেও, এটি আমার পক্ষে কাজ করেছে। আমি হাই সিয়েরায় আছি
ইটজয়েবার্নার

34

আমি আমার নির্দিষ্ট সেটআপের জন্য নিম্নলিখিত কমান্ডগুলির সাথে কাজ করেছি

brew doctor

এবং তারপরে এটি আমার ত্রুটিগুলি কোথায় তা আমাকে দেখিয়েছিল এবং তারপরে উপরের মন্তব্য থেকে এটি কিছুটা আলাদা কমান্ড।

sudo chown -R $(whoami) /usr/local/opt

2
সুস্পষ্ট পরামর্শের জন্য আপনাকে ধন্যবাদ। আমি ভুলে যেতে চাইছিbrew doctor
অ্যান্টনি

1
এটি এখানে সমস্যার সমাধান করেছে
খসোডক্টর

brew doctorভাল.
AechoLiu

একটি
মোহন

15

আমি একই সমস্যা পেয়েছি, আমরা তিনটি পদক্ষেপে সমাধান করতে পারি: -

ধাপ 1

sudo chown -R $(whoami) $(brew --prefix)/*

ধাপ ২

brew doctor

ধাপ 3

brew prune

আপনি যদি এখনও কোনও সংযোগ সমস্যা পান তবে এর জন্য বলুন mysql, কেবল লিখুন

brew link mysql

এটি কাজ করবে।


1
আমার জন্য খরগোশের জন্য কাজ করেছেন
ওমর

'পদক্ষেপ 1' এর উদ্দেশ্য কী?
কনরাড সি

1
ব্রিউ ডাক্তার থাম্বস আপ! ব্রিউ ছাঁটাই করেনি, তবে অন্যান্য অনুপস্থিত প্যাকেজ ইনস্টল করেছে এবং এটি মংডোবের পক্ষে কাজ করে।
চেনলু

'ব্রিউ প্রুন' কল করা অক্ষম। পরিবর্তে 'ব্রিউ ক্লিনআপ' ব্যবহার করুন।
হনুমানদেব

12

যারা এই সমস্যাটিতে চলেছেন (এই পোস্টটি তৈরি হওয়ার 4 বছর পরে দেওয়া হয়েছিল) ম্যাক ওএস হাই সিয়েরা চালানোর সময় - এখানে বর্ণিত পদক্ষেপগুলি আমার জন্য সমস্যার সমাধান করেছে। মূলত কেবল মেশিনটি আনইনস্টল করা ও পুনরায় ইনস্টল করার রূপরেখা দেয়।

https://medium.com/@mrkdsgn/brew-error-on-macos-high-sierra-check-you-have-permission-to-write-to-usr-local-e8bd1c6a22d4

এই পদক্ষেপগুলি চালানোর পরে, brew link মোহন মত কাজ!


আমি এটি আমার জন্য কাজ (প্রাথমিক ডাম্প কমান্ড ব্যতীত) পেয়েছি
vr_driver

ধন্যবাদ! হ্যারি দ্বারা শীর্ষ উত্তর চেষ্টা করে দেখুন, ভাগ্য নেই - এটি চেষ্টা করে দেখুন এবং এটি একটি কবজির মতো কাজ করেছে!
জো

আমার জন্য কাজ, ধন্যবাদ!
জেন

9

আমার জন্য সমাধানটি চালানো ছিল brew update

সুতরাং, এই প্রথম করুন।

হোমব্রিউয়ের সাথে পরিচিত ব্যক্তিদের জন্য এটি সাধারণ অনুশীলন হতে পারে তবে আমি সেই লোকদের মধ্যে নেই।

সম্পাদনা: আমি আবিষ্কার করেছি যে আমার brew doctorএই একই প্রশ্নের উত্তর @ কিন্তের উত্তর অনুসারে চালিয়ে আপডেট করতে হবে ।

একটি সাধারণ সমস্যা সমাধানের ওয়ার্কফ্লো দেখতে পারে: 1. চালান brew update ২. যদি এটি দৌড়াতে সহায়তা করে না brew doctorএবং এর দিকনির্দেশগুলি অনুসরণ করে ৩. যদি স্ট্যাকের ওভারফ্লো চেক করতে সহায়তা করে না


1
এটি আমার জন্য সবকিছু স্থির করে এবং অন্য যে কোনও কিছুর আগে করা ভাল।
রব ইভান্স

সমস্ত ব্রিউ চিকিত্সক এটাই বোঝাতে পারেন যে আমি আমার
সেলারে চাবি

@ অ্যালেক্সওয়াল্লেজো আমি যখন ওপি হিসাবে প্রায় অভিন্ন ত্রুটি পেয়েছিলাম তখন আমার যে সমস্যাটি হয়েছিল তা সমাধান করার জন্য আমি এটি করেছি। ব্রু ডাক্তারের কাছ থেকে আপনি যে বার্তা পেয়েছেন তা আমার কাছে অন্যরকম সমস্যার মতো মনে হচ্ছে। "1. ব্রিউ আপডেট চালান ২" এর ওয়ার্কফ্লো যদি এটি ব্রু ডাক্তার চালাতে সহায়তা করে না এবং এর দিকনির্দেশগুলি অনুসরণ করে 3.. যদি এটি স্ট্যাকের ওভারফ্লো পরীক্ষা করতে সহায়তা না করে "সম্ভবত এখনও প্রয়োগ হয়।
ফ্রেগমেন্টালস্টেউ

6

ব্রিউ লিংক নোড করার সময় আমি নিম্নলিখিত সমস্যাগুলিও পেয়েছি:

ত্রুটি: / নোড / ইউএসআর / স্থানীয় / অন্তর্ভুক্ত সিমলিংক করা যায়নি লিখিত নয়।

লিঙ্ক / ওশর / স্থানীয় / সেলার / নোড / 9.3.0 ... ত্রুটি: অনুমতি @ dir_s_mkdir - / usr / স্থানীয় / lib অস্বীকার করেছে

উপরের সমাধানের জন্য কেবল / usr / স্থানীয় / এ যান এবং ফোল্ডারগুলির 'অন্তর্ভুক্ত' এবং 'লাইব' এর উপলব্ধতা যাচাই করুন, যদি সেই ফোল্ডারগুলি না পাওয়া যায় তবে সেগুলি নিজেই তৈরি করুন ually

এবং ব্রু ইনস্টল নোড আবার চালান


5

এটি কারণ বর্তমান ব্যবহারকারীকে সেই পথে লেখার অনুমতি নেই । সুতরাং, আর / ডাব্লু (পড়ুন / লিখুন) অনুমতিগুলি পরিবর্তন করতে আপনি হয় ১ টি টার্মিনাল বা ২. গ্রাফিকাল "তথ্য পান" উইন্ডোটি ব্যবহার করতে পারেন।

1. টার্মিনাল ব্যবহার

টার্মিনাল থেকে কীভাবে chmod / chown (পরিবর্তন মোড / পরিবর্তন চেঞ্জ) কমান্ড ব্যবহার করবেন গুগল

২. গ্রাফিকাল 'তথ্য পান' ব্যবহার করা

আপনি যে ফোল্ডারে / ফাইলের অনুমতিগুলি পরিবর্তন করতে চান তাতে ডান ক্লিক করতে পারেন, তারপরে গেট ইনফর্মটি খুলুন যা নীচে নীচের মতো একটি উইন্ডো প্রদর্শন করবে যার নীচে আপনি সহজেই আর / ডাব্লু অনুমতি পরিবর্তন করতে পারবেন: এখানে চিত্র বর্ণনা লিখুন

আপনার অস্থায়ী কাজের পরে যদি সম্ভব হয় তবে অনুমতিটি "কেবলমাত্র পঠন করুন" তে ফিরে যেতে ভুলবেন না


ব্রিউ ডাক্তার ব্যবহার করুন - এটি সঠিকভাবে (সিস্টেম) ফোল্ডারগুলি চিহ্নিত করতে পারে যাতে ফিক্সিংয়ের প্রয়োজন হয়।
jhndpope

3

আমি সোফোস অ্যান্টি-ভাইরাস ব্যবহারকারীদের জন্য নিম্নলিখিত প্রাসঙ্গিক খুঁজে পেয়েছি:

https://stackoverflow.com/a/32981184

https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/17/t/10029

সংক্ষেপে, সোফস নির্দিষ্ট / usr / স্থানীয় ডিরেক্টরিগুলির অনুমতি পরিবর্তন করছে। সোফোস এটি প্যাচ করেছে এবং ফিক্সটি 9.4.1 সংস্করণ সহ অন্তর্ভুক্ত করা হয়েছে।


দুর্ভাগ্যক্রমে আমি এখনও এটি পেয়েছি এবং এফডাব্লুআইডাব্লু: |
রজারডপ্যাক

2

আমার সমস্যা ছিল

Error: Could not symlink share/man/man7/ABORT.7
/usr/local/share/man/man7 is not writable.

chownসাহায্য করেনি, তবে আমি চলমান brew doctorপরামর্শ অনুসরণ করেছি এবং এই সতর্কতা আমাকে সহায়তা করেছিল:

Warning: Broken symlinks were found. Remove them with `brew prune`:
/usr/local/share/man/man3/* 

brew pruneসব পরে ভাল কাজ!


গ্রেট। আমার জন্য কাজ কর.
বাগসফ্লিয়ার


0

আপনি যদি ফাইন্ডারে ফোল্ডারে যান তবে ডান ক্লিক করুন এবং "তথ্য পান" নির্বাচন করুন আপনি ফোল্ডারের জন্য "ভাগ করে নেওয়ার অনুমতি" বিভাগে যেতে পারেন এবং "পড়ুন এবং লিখুন" "প্রত্যেককে" অনুমতি দিতে পারেন

এই ত্রুটির সাথে সিমলিঙ্কগুলি পাস করতে আমি এটিই করি। এছাড়াও ব্রিউ মনে হয় ফোল্ডারে অনুমতিগুলি পুনরায় সেট করার মতো মনে হচ্ছে আপনি কোনও কিছু পরিবর্তন করেন নি


0

আপনি /usr/localযে প্যাকেজটি ইনস্টল করছেন তার জন্য যদি ইতিমধ্যে আপনার কাছে ডিরেক্টরি থাকে তবে আপনি এই ডিরেক্টরিটি মোছার চেষ্টা করতে পারেন।

আমার ক্ষেত্রে আমি পূর্বে প্যাকেজটি ইনস্টল করেছিলাম যা আমি ব্রু ব্যবহার না করেই ইনস্টল করার চেষ্টা করছিলাম এবং এর পরে এটি আনইনস্টল করেছিলাম। /usr/local/<my_package>/পূর্ববর্তী ইনস্টল থেকে একটি ডিরেক্টরি বাকি ছিল । আমি এই ফোল্ডারটি মুছে ফেলেছি ( sudo rm -rf /usr/local/<my_package>/) এবং এর পরে ব্রিউ লিঙ্ক পদক্ষেপটি সফল হয়েছিল।

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