sudo mkdir в /usr/, операция не разрешена. Эль-Капитан

Попытка установить PHP, которая требует создания каталога расширений в /usr/lib/php/extensions. Установка вернула ошибку «Операция не разрешена».

С тех пор я узнал, что sudo не может создавать каталоги под /usr/. Кто-нибудь еще испытал это?


person THEK    schedule 23.10.2015    source источник
comment
вы пытаетесь запустить команду из PHP?   -  person Jonathan Kuhn    schedule 23.10.2015
comment
Это не удалось при запуске sudo make install, поэтому я попробовал это вручную. Так тоже не работал   -  person THEK    schedule 23.10.2015
comment
Я хочу сказать, что это действительно не имеет ничего общего с PHP, если только вы не запускаете команду из PHP. Тот факт, что вы устанавливаете PHP, не имеет ничего общего с невозможностью создать каталог из окна терминала. Это помечено как проблема PHP.   -  person Jonathan Kuhn    schedule 23.10.2015
comment
отредактированный вопрос, обновленные теги   -  person THEK    schedule 23.10.2015
comment
Быстрый Google выдал: digitizor.com/ 01.10.2015/. Хотя он касается другой программы, он охватывает ту же проблему и исправление. Ваше решение, хотите ли вы использовать это или установить в другом месте.   -  person Jonathan Kuhn    schedule 23.10.2015
comment
Это должно быть причиной по этой ссылке superuser.com/questions/1152753/   -  person nmeegama    schedule 20.09.2017


Ответы (1)


Локальные установки действительно должны быть установлены в /usr/local, а не непосредственно в /usr. Начиная с El Capitan, это обеспечивается System Защита целостности. Не должно быть большого изменения, просто установите расширения в /usr/local/lib/php/extensions и отредактируйте php.ini, чтобы установить extension_dir в соответствующее место.

person Gordon Davisson    schedule 24.10.2015
comment
А как насчет того же случая но с установкой программы? в этом случае я хотел установить Trimmomatic в корзину, и появилось то же сообщение об ошибке. Заранее спасибо. - person msimmer92; 28.03.2018
comment
@melunuge92 melunuge92 Это программа на Java, поэтому не имеет большого значения, где вы ее поместите, если вы запускаете ее с помощью java -jar /path/to/trimmomatic.jar. Этот make-файл предполагает, что он обычно устанавливается для конкретного пользователя в ~/ bin/trimmomatic.jar (например, /Users/melunuge92/bin/trimmomatic.jar). Я недостаточно знаком с java, чтобы знать лучшие соглашения по установке java-программ. - person Gordon Davisson; 28.03.2018
comment
Спасибо, Гордон! В конце концов, это была глупая ошибка. У меня была папка с именем trimmomatic в корзине, а внутри нее был исполняемый файл. Я просто поместил исполняемый файл прямо в папку bin без промежуточной папки trimmomatic, и это сработало. - person msimmer92; 30.03.2018