Домашня мова не посилається на git


11

Коли я встановив git або оновив git через, brewя не зміг його зв'язати brew link git. Якщо я спробую, sudo brew link gitя отримую:

боягузливий відмовляється від судо варити посилання

Це говорить про те, що я повинен перевірити дозволи на:

/usr/local/share/gitk/lib
/usr/local/share/git-gui/lib
/usr/local/share/git-core/templates
/usr/local/share/git-core/templates/hooks
/usr/local/share/git-core

Я chmodвідредагував все до 777, але не впевнений, чи добре це.

Зараз я можу зв’язати git. Чи варто змінити дозвіл на щось менш дозвільне?

Відповіді:


5

777 дозволів тут не обов'язково погані - ви, мабуть, ніколи не зіткнетеся з проблемами дозволів, і це, напевно, не проблема з безпекою.

У будь-якому випадку, "нормальні" дозволи на /usr/local/shareцей домашній переклад повинні бути (рекурсивно) 755, таким чином rwxr-xr-x.

chmod -R 755 /usr/local/share

Принаймні, brewне потрібно мати судових дозволів, щоб коли-небудь робити щось там. Тільки /usr/localналежить root, але доступний для запису в staffгрупу, в якій ваш користувач повинен бути в.

Щоб виправити існуючі установки Homebrew, перегляньте цю суть , що є сценарієм, який намагатиметься виправити ваші /usr/localдозволи.


Як приклад, ось перелік каталогів одного з моїх (здорових) інсталяцій Homebrew з ghostscriptєдиним винятком, який потребував sudo brew link:

aeneas:local werner$ ls -la /usr/local/share/
total 40
drwxr-xr-x  11 werner  staff  374 Mar  5 14:53 .
drwxrwxr-x  14 werner  staff  476 Feb 28 12:51 ..
drwxr-xr-x   6 werner  staff  204 Mar  5 14:54 aclocal
drwxr-xr-x   8 werner  staff  272 Mar  5 14:53 doc
lrwxr-xr-x   1 werner  staff   34 Feb  8 12:26 ffmpeg -> ../Cellar/ffmpeg/0.10/share/ffmpeg
drwxr-xr-x   4 werner  wheel  136 Apr 16  2010 ghostscript
lrwxr-xr-x   1 werner  staff   36 Mar  5 14:53 git-core -> ../Cellar/git/1.7.9.2/share/git-core
lrwxr-xr-x   1 werner  staff   35 Mar  5 14:53 git-gui -> ../Cellar/git/1.7.9.2/share/git-gui
lrwxr-xr-x   1 werner  staff   32 Mar  5 14:53 gitk -> ../Cellar/git/1.7.9.2/share/gitk
lrwxr-xr-x   1 werner  staff   34 Mar  5 14:53 gitweb -> ../Cellar/git/1.7.9.2/share/gitweb
drwxr-xr-x   9 werner  staff  306 Mar  5 14:53 man

Щоб отримати більше діагностувань, запустіть brew doctor.
slhck

На жаль, лікар-заварювач не дає корисної інформації в цьому випадку. Згаданий суть
вирішив

як тільки я встановив варити, мені не потрібно було використовувати судо для майже нічого. Можливо, ви судо щось, чого ви не повинні мати у якийсь момент, що позбавило дозволів та права власності?
dstarh

@dstarh Це зазвичай проблема. У наші дні Homebrew не повинен нічого робити, коли sudoвикористовується.
slhck

Чому Homebrew не дозволяє нам використовувати судо? Нам постійно доводиться возитися з нашими дозволами, щоб пов’язати речі, коли це просто дозволить нам робити те, що вдається sudo brew link [package]. Я просто копіюю бібліотеки з підвалу кожен раз, коли хочу щось оновлювати, а не намагатися з цим боротися.
судо

0

Я ще не пробував суті, але спробував chmod 775у папці. Оскільки воно належить, root:wheelвоно не може бути змінено. Я посилався на японський сайт.

sudo chown yourusername:admin -R /usr/local/share/ghostscript
brew link ghostscript
brew doctor

то для мене це працює вище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.