ไม่สามารถ chown / usr / local สำหรับ homebrew ใน MacOS X 10.13 High Sierra


118

Homebrew ต้องการสิทธิ์ใน / usr / local และเนื่องจากไม่มีใครใช้แล็ปท็อปของฉันฉันจึงทำมาตลอด

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

แต่ใน High Sierra สิ่งนี้ให้

chown: /usr/local: Operation not permitted

การแก้ไขคืออะไร?


แก้ไขด้วย: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

คำตอบ:


218

ปัญหายังคงเกิดขึ้น ... หลังจากขุดลึกลงไปฉันพบว่ามีเพียงการถอนการติดตั้ง Homebrew แล้วติดตั้งใหม่อีกครั้งเท่านั้นที่สามารถแก้ไขปัญหานี้ได้

ถอนการติดตั้ง Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

จากนั้นติดตั้งใหม่:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

4
นี่เป็นวิธีเดียวที่จะแก้ไข homebrew ของฉันหลังจากอัปเกรด Sierra "สูง" ข้อผิดพลาดของฉันคือ: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib และ sudo chown -R $(whoami) $(brew --prefix)/* ไม่ได้ช่วย ...
gh4x

เหลือเชื่อ. ล้มเหลวในครั้งแรกสคริปต์การถอนการติดตั้งล้มเหลวการติดตั้งครั้งที่สองใช้งานได้
GreenAsJade

คุณอาจต้องการบันทึกผลลัพธ์brew listในไฟล์ก่อนเพื่อให้มีการบันทึกว่ามีการติดตั้งแพ็คเกจใดบ้าง
Giles Gardam

1
ไม่มีการแก้ไข homebrew อื่น ๆ ของ Mojave ที่จะทำงานในระบบของฉัน ถอนการติดตั้ง / ติดตั้งใหม่ทำงานได้อย่างสมบูรณ์
pkamb

2
ใช้งานได้กับ Catalina
Gefilte Fish

52

น่าเสียดายที่คุณไม่สามารถเลือก/usr/localใน High Sierra ได้อีกต่อไป วิธีแก้ปัญหาคือsudo mkdir /usr/local/includeและ/usr/local/Frameworksถ้าไม่มีอยู่และ

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

ขอบคุณ ilovezfs สำหรับวิธีแก้ปัญหาง่ายๆนี้และสำหรับ homebrew ที่น่าทึ่ง!


9
ยังไม่ทำงาน ข้อผิดพลาดในการอัปเดต $ brew: ไดเร็กทอรี / usr / local ไม่สามารถเขียนได้
Laurence Cope

ลองถอนการติดตั้งและติดตั้ง Homebrew ใหม่: stackoverflow.com/questions/46459152/…
ruggershawn

ตามที่ฉันแสดงความคิดเห็นไว้ที่อื่นการถอนการติดตั้งจะลบแพ็คเกจการชงทั้งหมดของคุณ
jaydel

$(brew --prefix)/usr/local/ฉันเชื่อว่าควรประเมิน
Jordan Stewart

33

คุณไม่สามารถเปลี่ยนสิทธิ์สำหรับ/usr/localตัวมันเอง แต่คุณสามารถเปลี่ยนสิทธิ์ที่ถูกต้องสำหรับโฟลเดอร์ที่อยู่ด้านล่างได้ดังนั้นสิ่งนี้จึงแก้ไขไฟล์
sudo chown -R $(whoami) /usr/local/*


1
รับปัญหาเดียวกัน
Laurence Cope

2
ทำงานบน MacOS High Sierra ทำงาน ขอบคุณ
Prince Odame

2
ทำงานให้ฉันบน: macOS High Sierra 10.13.6
Gail Parsloe

8

ฉันทำตามนี้แต่ปัญหายังคงมีอยู่
ดังนั้นฉันจึงติดตั้งhomebrewใหม่โดยไม่ต้องถอนการติดตั้งก่อนหน้านี้ มันใช้งานได้แล้ว!
(ไม่รู้เป็นไง)


3
ฉันแนะนำให้ถอนการติดตั้ง Homebrew โดยสมบูรณ์แล้วติดตั้งอีกครั้ง
k1r8r0wn

การติดตั้งหลายครั้งใช้งานได้ฉันไม่สามารถแก้ไขได้จนกว่าจะถอนการติดตั้ง
cbowns

การถอนการติดตั้งจะทำให้ทุกอย่างเสียหาย ฉันติดตั้งแพ็คเกจมากมายและจะต้องดำเนินการและติดตั้งใหม่ทั้งหมดอีกครั้ง น่าเศร้าที่ทั้งหมดนี้ใช้งานได้ก่อนหน้านี้เพราะฉันมีแพ็คเกจเหล่านั้น
jaydel


3

ลองปิดระบบป้องกันความซื่อสัตย์ จากเอกสารประกอบ:

การป้องกันความสมบูรณ์ของระบบสามารถกำหนดค่าได้โดยใช้คำสั่ง csrutil (1)

คุณสามารถตรวจสอบว่าปัจจุบันการป้องกันความสมบูรณ์ของระบบถูกเปิดใช้งานบนระบบของคุณหรือไม่โดยรันคำสั่งต่อไปนี้ใน Terminal:

$ csrutil status
System Integrity Protection status: enabled.

ในการเปิดหรือปิดใช้งาน System Integrity Protection คุณต้องบูตไปที่ Recovery OS และรันคำสั่ง csrutil (1) จาก Terminal

Boot to Recovery OS โดยการรีสตาร์ทเครื่องและกดปุ่ม Command และ R ค้างไว้เมื่อเริ่มต้นระบบ เปิด Terminal จากเมนู Utilities ป้อนคำสั่งต่อไปนี้: $ csrutil enable

หลังจากเปิดใช้งานหรือปิดใช้งานการป้องกันความสมบูรณ์ของระบบบนเครื่องจำเป็นต้องรีบูตเครื่อง


ในขณะนี้อาจตอบคำถามในทางทฤษฎีได้ แต่ควรรวมส่วนสำคัญของคำตอบไว้ที่นี่และระบุลิงก์สำหรับการอ้างอิง
Jake Symons

3
นี่เหมือนกับการถอดยามออกจากโต๊ะเลื่อยของคุณเล็กน้อย ใช้งานได้และอาจจำเป็นในบางครั้ง แต่จะปลอดภัยกว่าถ้าคุณไม่ต้องทำ การตั้งตัวเองเป็นเจ้าของ / usr / local เพื่อให้ homebrew ทำงานได้ดูเหมือนแฮ็คอยู่เสมอ
Caleb

3
นี่ท้อมาก! เป็นอันตรายอย่างยิ่งเว้นแต่ผู้ใช้จะไม่ได้ทำในสิ่งที่กำลังทำอยู่
Abu Shumon

@oligofren: D: D: D มากับผู้ชาย ผ่อนคลายไม่ใช่การword in contextแข่งขันภาษาอังกฤษ : D: D ตั้งค่าสถานะเพื่อเตือนผู้ใช้ แต่เอาล่ะคุณหยิบคำพูดสำหรับฉันแล้ว: p: p
Abu Shumon

1

หากคุณใช้ zsh เนื่องจากคุณมาจาก bash คุณอาจต้องเปลี่ยน $ PATH ของคุณ คุณควรเพิ่มexport PATH=$HOME/bin:/usr/local/bin:$PATH ใน. zshrc

จากนั้นควรใช้งานได้ปัญหานี้ได้รับการแก้ไขใน mac ของฉันด้วยวิธีนี้


1

ฉันใช้ 10.13 High Sierra ด้วย ฉันลองทำตามคำแนะนำก่อนหน้านี้ ไม่มีอะไรทำงาน ในที่สุดฉันก็ลองติดตั้งเครื่องมือบรรทัดคำสั่งก่อน:

xcode-select --install

แล้วหลังจากนั้น (re-) รันคำสั่ง brew install:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

และในที่สุดก็ใช้งานได้


0

ตรวจสอบให้แน่ใจว่าคุณไม่มีชุดล็อกในโฟลเดอร์บ้านหรือโฟลเดอร์ใด ๆ ที่การติดตั้งจำเป็นต้องเข้าถึง

แม้ว่าสิทธิ์และความเป็นเจ้าของจะถูกตั้งค่าอย่างถูกต้องและคุณกำลังเข้าสู่ระบบด้วยผู้ใช้ / หรือผู้ใช้รูทที่ถูกต้อง แต่จะไม่อนุญาตให้คุณสร้างโฟลเดอร์หรือไดเรกทอรีใหม่


0

ฉันไม่มีโฟลเดอร์ / user / local / Frameworks ดังนั้นสิ่งนี้จึงแก้ไขให้ฉัน

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

ฉันมี OSX High Sierra


0

นี่คือ Kaushik ฉันใช้ MacBook Pro macOS Catalina 10.15.4 ฉันสร้างบัญชีผู้ดูแลระบบใหม่ แต่การชงเกิดข้อผิดพลาด ดังนั้นฉันจึงทำตามขั้นตอนจากโพสต์นี้ สิ่งที่ได้ผลคือ:

sudo chown -R $ (whoami) $ (ชง - คำนำหน้า) / *

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.