Использование MacPorts для установки в другой каталог, кроме / opt / local / bin
4434
Chealion
У меня проблема согласованности между моими машинами, потому что я должен явно указать путь к команде для некоторых элементов, таких как Image Magick. Порт устанавливает их в / opt / local / bin, но для согласованности я бы хотел установить в / usr / local / bin. Как я могу указать это?
3 ответа на вопрос
8
Stu Thompson
Просто добавьте /opt/local/binк своему пути, как и все мы. Вы можете сделать это в~/.profile
Пытаясь заставить его /usr/local/bin
это ненужное усилие
рискует исполнимость или столкновение библиотеки со злом и потенциально катастрофическим воздействием
Как я уже сказал изначально, я должен явно указать путь к команде в коде приложения. У нас более одной машины для разработки, поэтому некоторые из них были установлены из исходного кода (/ usr / local / bin), а некоторые - из портов Mac (/ opt / local / bin).
15 лет назад
0
Либо используйте MacPorts, либо не используйте: в любом случае вам следует избегать использования / usr
Jeremy L 15 лет назад
2
например, ln -s / opt / local / bin / convert / usr / local / bin / convert
fideli 14 лет назад
1
5
Mark
Macports действительно не любит находиться в / usr / local. От MacPorts Faq
/ opt / local был выбран таким образом, чтобы избежать использования других различных установок (например, fink использует / sw для того же); / usr / local не является жизнеспособным выбором по нескольким причинам:
Некоторые программы (особенно auto * tools от Gnu) смотрят в / usr / local как местоположение по умолчанию, что означает, что MacPorts не может быть легко изолирован при необходимости
/ usr / local обычно зарезервирован для администратора данной системы для установки элементов, локальных для этой системы, и имеет тенденцию быть плохим выбором, если он будет принят несистемной системой портов
gcc считает / usr / local стандартным системным каталогом, из-за чего (по крайней мере) каталог include не может появиться в начале списка включаемых каталогов, и, следовательно, из-за того, что элементы, установленные в MacPorts, трудно использовать должным образом для элементов, которые нужны они (где в другом месте установлена другая версия, например / usr / X11R6)
Также, если у вас есть инсталляции из разных источников, вы уверены, что они точно такой же версии. Если нет, то у вас будут странные проблемы со сборкой и временем выполнения.
Если после всего этого вы все еще хотите попробовать использовать этот неподдерживаемый метод и просто не можете использовать путь для поиска вещей, которые, я подозреваю, будет проще сделать так, чтобы ваш код выглядел в / opt / local / bin, а затем / us / local / bin выберите тот, который он найдет (и то, что произойдет, если оба есть)
Все эти причины, по-видимому, сводятся к тому, что «возможно, вы захотите использовать другую систему пакетов (или установить из исходного кода) вместе с MacPorts». Жаль, что нет поддерживаемого решения для пользователей, которые хотят использовать MacPorts для управления всеми своими пакетами и хранения их в стандартных местах.
Jesse McGrew 11 лет назад
0
@JesseMcGrew Что вы подразумеваете под стандартным местоположением? Любой каталог может быть использован в Unix, он просто должен быть на пути. Например, / opt - это стандартное расположение Solaris для сторонних установок
Mark 11 лет назад
0
Я имею в виду ожидаемое место, я думаю. Наличие таких вопросов, как этот, и запись часто задаваемых вопросов о MacPorts предполагает, что многие пользователи и пакеты программного обеспечения ожидают, что программы будут установлены в / usr или / usr / local, и когда MacPorts является единственным используемым менеджером пакетов, может быть проще перенастроить MacPorts, чем переучивать / переконфигурировать все остальное.
Jesse McGrew 11 лет назад
0
@JesseMcGrew, вы можете настроить Macports на использование другого каталога, но затем от вас зависит отладка :( Я выбрал Macports, потому что он был в другом каталоге после 10+ лет работы с Unix, и они сделали те же комментарии.
Mark 11 лет назад
0