причина
Эта ошибка указывает на то, что MacPorts успешно выбрал источник py25-py2app-devel
но не смог установить его (технически не смог выполнить этап «уничтожения» ), поскольку ему не удалось найти и переместить файл с именем NEWS.txt
. Беглый взгляд на дерево исходных py2app
показывает, что NEWS.txt
действительно исчез, хотя порт все еще пытается его установить - см. Строку 38 в последнем Portfile . (Portfiles - это инструкции по сборке и установке программного обеспечения MacPorts.)
Краткосрочное исправление
Убедитесь, что у вас установлена последняя версия основного программного обеспечения MacPorts и дерева портов. Это почти всегда хорошая идея. Сделайте это, открыв Терминал и выполнив следующую команду:
sudo port selfupdate
Очистите все временные файлы работы / сборки, оставшиеся от неудачной установки, запустив
sudo port clean --all py25-py2app-devel
Это гарантирует, что MacPorts запускается с чистого листа при следующей попытке установить порт.
Удалите ссылку на NEWS.txt
в py25-py2app-devel
чтобы он больше не пытался установить NEWS.txt
; файл находится в $(port dir py25-py2app-devel)/Portfile
. Быстрый способ сделать это, запустив
sudo sed -i '' '38s/NEWS.txt//' $(port dir py25-py2app-devel)/Portfile
Эта команда удаляет текст «NEWS.txt» из строки 38 файла порта для py25-py2app-devel
. Это единственная ссылка на NEWS.txt
в Portfile.
Попробуйте установить снова:
sudo port install py25-py2app-devel
На этот раз порт должен быть установлен правильно, если не возникнет какая-либо другая непредвиденная проблема. По крайней мере, у вас больше не должно быть проблемы NEWS.txt
.
Долгосрочное исправление
Хотя это должно работать для вас, при повторном обновлении дерева с помощью port selfupdate
обновления порта ваши локальные изменения будут перезаписаны неверным файлом порта из MacPorts. (Это не нарушит вашу установку, но это означает, что переустановка позже не удастся, если кто-то еще не исправит ее на конце MacPorts.) Если исправление, описанное выше, сработает, дайте мне знать, и я могу отправить патч. Или вы можете сделать это самостоятельно, если вы чувствуете себя предприимчивым. :)