Использование MacPorts для установки в другой каталог, кроме / opt / local / bin

4434
Chealion

У меня проблема согласованности между моими машинами, потому что я должен явно указать путь к команде для некоторых элементов, таких как Image Magick. Порт устанавливает их в / opt / local / bin, но для согласованности я бы хотел установить в / usr / local / bin. Как я могу указать это?

3

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 не является жизнеспособным выбором по нескольким причинам:

  1. Некоторые программы (особенно auto * tools от Gnu) смотрят в / usr / local как местоположение по умолчанию, что означает, что MacPorts не может быть легко изолирован при необходимости
  2. / usr / local обычно зарезервирован для администратора данной системы для установки элементов, локальных для этой системы, и имеет тенденцию быть плохим выбором, если он будет принят несистемной системой портов
  3. 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
2
dertoni

Если вы знаете, что делаете, вот как это сделать:

Установка портов Mac из источника .

Вы должны абсолютно избегать использования / usr, как отмечено Марком. Jeremy L 15 лет назад 1

Похожие вопросы