У меня проблема согласованности между моими машинами, потому что я должен явно указать путь к команде для некоторых элементов, таких как Image Magick. Порт устанавливает их в /opt /local /bin, но для согласованности я бы хотел установить в /usr /local /bin. Как я могу указать это?
3 ответа
Просто добавьте /opt/local/bin
к своему пути, как и все мы. Вы можете сделать это в ~/.profile
Попытка заставить его /usr/local/bin
- это ненужное усилие
- рискует исполнимость или столкновение библиотеки со злом и потенциально катастрофическим воздействием
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 выберите тот, который он найдет (и то, что произойдет, если оба есть)
Если вы знаете, что делаете, вот как это сделать:
Установка портов Mac из источника.