3

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

3 ответа3

8

Просто добавьте /opt/local/bin к своему пути, как и все мы. Вы можете сделать это в ~/.profile

Попытка заставить его /usr/local/bin

  • это ненужное усилие
  • рискует исполнимость или столкновение библиотеки со злом и потенциально катастрофическим воздействием
5

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 выберите тот, который он найдет (и то, что произойдет, если оба есть)

2

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .