Вопрос или проблема
Для установки meld на Mac OSX я попытался выполнить команду:
brew install meld
но получил следующую ошибку:
Error: No available formula for meld
Как правильно установить meld?
Когда был задан этот вопрос, Homebrew еще не поддерживал установку meld.
Есть альтернативные решения для установки meld
на OS X:
Используйте другой менеджер пакетов, например, Fink, который упоминается в руководстве по установке meld, или MacPorts, упомянутый в трекере проблем Homebrew.
Можно также, вероятно, скомпилировать из исходного кода, но для этого вам нужно будет самим установить зависимости. Установка одного из других менеджеров пакетов может быть проще.
Homebrew
Теперь вы можете установить Meld с помощью Homebrew! На macOS выполните:
$ brew install --cask meld
Другие команды Homebrew
Я изменял синтаксис этого ответа со временем, чтобы он был более понятным. Следующие команды аналогичны и работают по крайней мере на macOS Sierra и High Sierra:
$ brew install --cask homebrew/cask/meld
$ brew install homebrew/cask/meld
Вы не должны запускать более старую команду $ brew install homebrew/gui/meld
, так как она устарела в Homebrew.
Как указал @meduz в комментарии выше, meld теперь компилируется в brew (еще не проверено), пожалуйста, попробуйте сначала это, поскольку мой изначальный ответ гораздо старше.
Сегодня уже возможно установить это с помощью Homebrew:
brew install meld
У меня возникла проблема с pygtk, когда я запускаю meld, он говорит:
Couldn't bind the translation domain. Some translations won't work.
Cannot import: pygtk
No module named pygtk
У меня уже установлен pygtk в lion, и мне нужно было экспортировать его, чтобы он работал:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages/
Добавьте вышеуказанную строку в ваш ~/.profile, чтобы устанавливать PYTHONPATH автоматически, когда вы открываете окно терминала.
На OSX El Captain вам просто нужно выполнить:
$ brew install homebrew/gui/meld
Я считаю, что текущие правильные команды brew:
brew install Caskroom/cask/xquartz
brew install homebrew/x11/meld
Однако после выполнения этих команд у меня возникла следующая проблема, которую я преодолел на других установках на разных маках в прошлом:
Couldn't bind the translation domain. Some translations won't work.
'module' object has no attribute 'bindtextdomain'
/usr/local/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
/usr/local/Cellar/meld/1.8.6/libexec/bin/meld:155: GtkWarning: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
gtk.icon_theme_get_default().append_search_path(meld.paths.icon_dir())
Traceback (most recent call last):
File "/usr/local/Cellar/meld/1.8.6/libexec/bin/meld", line 155, in <module>
gtk.icon_theme_get_default().append_search_path(meld.paths.icon_dir())
AttributeError: 'NoneType' object has no attribute 'append_search_path'
Но в этот раз я решил, что это не стоит моего времени, так как я не мог вспомнить точное решение.
Вместо этого я нашел простой DMG-установщик и скрипт от Алекса Краса для запуска приложения Meld, установленного через DMG. Инструкции находятся на его сайте. Однако, обратите внимание, что эта версия, установленная через DMG, плохо реагирует на ввод git mergetool
Попробуйте это
brew install homebrew/x11/meld
или это
brew tap homebrew/x11
brew install meld
Meld находится в репозитории X11 Homebrew. Выполнение brew tap homebrew/x11
позволяет Homebrew видеть Meld в этом репозитории. (ответ 2015 года)
Не устанавливайте его с помощью Brew. Сделайте это так. https://yousseb.github.io/meld/
Основные причины использования этой версии вместо билдов Macports или Homebrew: Поддержка Retina (посмотрите на скриншот!) Последняя серия 3.x Установка без хлопот (перетаскивание как в любом другом приложении) Интеграция с меню OSX
Поскольку формула для Homebrew исчезла, я хочу упомянуть альтернативу. Есть эта сборка в виде приложения для OS X, которую легко установить. Она была собрана в последний раз в декабре ’14 и требует некоторых настроек, если вы хотите использовать ее из командной строки. Я пока не пытался понять, как это сделать.
Его переместили в Caskroom/cask, поэтому выполните:
brew install Caskroom/cask/meld
Старая каска для meld была отключена в конце 2024 года
# brew install --cask meld
==> Downloading https://formulae.brew.sh/api/cask.jws.json
Error: Cask 'meld' has been disabled because it is discontinued upstream! It was disabled on 2024-12-16.
Вместо этого используйте эту
brew install --cask dehesselle-meld
Совет! Вы можете использовать это как ваш git difftool
# Эта команда предполагает, что вы используете оболочку ZSH.
echo "alias meld='/Applications/Meld.app/Contents/MacOS/Meld'" >> ~/.zshrc
git config --global diff.tool meld
git config --global difftool.prompt false
git config --global difftool.meld.cmd "/Applications/Meld.app/Contents/MacOS/Meld \$LOCAL \$REMOTE"
Благодарности Рене де Хесселле @dehesselle.
Больше информации на https://gitlab.com/dehesselle/meld_macos
.
Ответ или решение
Установка Meld на macOS с использованием Homebrew может столкнуться с некоторыми трудностями из-за исторических изменений в управлении пакетами. Тем не менее, с 2023 года процесс стал более прямолинейным благодаря Cask. Давайте рассмотрим детально, как установить Meld при помощи Homebrew.
Теория (Theory)
Meld — это инструмент для визуального сравнения и слияния файлов. Он часто используется разработчиками программного обеспечения для анализа изменений в исходном коде и управления версиями. На macOS его установка может быть вызовом, особенно с учетом того, что с течением времени некоторые методы устаревали или меняли способ установки.
Homebrew является популярным менеджером пакетов для macOS, который упрощает установку и обновление приложений и утилит, но он имеет свои особенности, которые необходимо учитывать.
Пример (Example)
Чтобы установить Meld на macOS при помощи Homebrew, необходимо следовать определенным шагам. Рассмотрим процесс установки с самого начала:
-
Установка Homebrew – если у вас еще нет Homebrew, начнем с установки. Выполните следующую команду в терминале:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Установка Meld – ранее для установки требовалось использовать различные подходы, такие как
homebrew/x11
,homebrew/gui
и другие устаревшие пути. На данный момент наиболее актуальный и поддерживаемый способ — это использование Cask:brew install --cask meld
Если вы столкнетесь с ошибкой о том, что пакет недоступен, это может означать, что его перенесли в другой Cask. В такой ситуации воспользуйтесь альтернативным предложением:
brew install --cask dehesselle-meld
Это связано с тем, что оригинальный Cask мог быть отключен или перемещен.
-
Налаживание совместимости и интеграции Git – Если вы хотите интегрировать Meld как средство сравнения в Git, выполните следующие переменные настройки:
echo "alias meld='/Applications/Meld.app/Contents/MacOS/Meld'" >> ~/.zshrc git config --global diff.tool meld git config --global difftool.prompt false git config --global difftool.meld.cmd "/Applications/Meld.app/Contents/MacOS/Meld \$LOCAL \$REMOTE"
Это обеспечивает глубокую интеграцию с Git, позволяя вам использовать Meld для управления версиями.
Применение (Application)
При помощи этих шагов вы сможете установить Meld с использованием Homebrew и интегрировать его с вашими повседневными рабочими процессами на macOS. Эти команды делают установку интуитивно понятной и автоматизируют процесс с минимумом вмешательства.
Вышеописанный процесс может быть применен как для разработки программного обеспечения, так и для других задач, включая сравнение текстовых файлов и управление конфликтами в системах контроля версий. Например, в сложных проектах с несколькими участниками инструмент визуального сравнения может ускорить проверку изменений и упростить решение конфликтов.
Соблюдение этих инструкций обеспечивает работоспособность Meld в вашей системе, минимизируя возможные ошибки и позволяя сосредоточиться на решении основных задач.
В завершение, если столкнетесь с проблемами, всегда полезно проверить обновления сообщества или новых инструкций по использованию Homebrew, так как экосистема программного обеспечения постоянно развивается, и новые методы могут появляться со временем.