Как установить определенную версию Python 3.x, используя пиво на Mac [duplicate]

1715
задан Jay P. 17 June 2015 в 16:29
поделиться

20 ответов

2124
ответ дан nevets1219 15 August 2018 в 20:31
поделиться

По строкам предложения @ halfcube это работает очень хорошо:

  1. Найдите библиотеку, которую вы ищете в https://github.com/Homebrew/homebrew- core / tree / master / Formula
  2. Щелкните по нему: https://github.com/Homebrew/homebrew-core/blob/master/Formula/postgresql.rb ]
  3. Нажмите кнопку «История», чтобы посмотреть старые коммиты: https://github.com/Homebrew/homebrew-core/commits/master/Formula/postgresql.rb
  4. Выберите тот, который вы хотите: «postgresql: обновить версию до 8.4.4», https://github.com/Homebrew/homebrew-core/blob/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql .rb
  5. Нажмите ссылку «raw»: https://raw.githubusercontent.com/Homebrew/homebrew-core/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
  6. brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/fa992c6a82eebdc4cc36a0c0d2837f4c02f3f422/Library/Formula/postgresql.rb
52
ответ дан abarnert 15 August 2018 в 20:31
поделиться
  • 1
    Это самый простой способ установки необходимой версии пакета, если он недоступен в основном репо как package@version – avy 17 April 2017 в 10:33
  • 2
    Если вы не можете использовать веб-интерфейс, вы можете клонировать репо и делать это локально: используйте git log master -- Formula/PACKAGENAME.rb, чтобы получить историю фиксации, проверить правильную фиксацию, а затем запустить brew install Formula/PACKAGENAME.rb для ее установки. – chipbuster 1 June 2017 в 10:43
  • 3
    Я думаю, вам нужно brew unlink до brew install другой версии. – studgeek 24 June 2017 в 02:14
  • 4
    Кто это mxcl? – PJSCopeland 18 January 2018 в 21:50
  • 5
    Я делаю это brew install https://github.com/Homebrew/homebrew-core/raw/afc10f17af8023906b87363a8340aeb62284329f/Formula/postgresql%409.6.rb, но получаю ошибку, возможно, из-за знака @: Error: No available formula with the name "postgresql%409.6" In formula file: /Users/maciek/Library/Caches/Homebrew/Formula/postgresql%409.6.rb Expected to find class Postgresql%4096, but only found: PostgresqlAT96. Любые идеи? – msciwoj 11 July 2018 в 10:40

В новейшей версии homebrew (0.9.5 на момент написания этой статьи) будет определен конкретный рецепт для версии ботаника доморощенного, которую вы хотите установить. Пример:

$ brew search mongodb
mongodb    mongodb24  mongodb26

Тогда просто сделайте brew install mongodb26, как обычно.

В том случае, если вы уже установили последнюю версию, обязательно отмените последнюю версию и свяжите ее желаемая версия: brew unlink mongodb && brew link mongodb26.

11
ответ дан Alex Sharp 15 August 2018 в 20:31
поделиться

Обновление: 1/15/2015

  • Найдите историю фиксации нужного программного обеспечения и версии. например Мне нужно переключиться с докеров версии 1.4.1 на 1.3.3: https://github.com/Homebrew/homebrew-core/commits/master/Formula/docker.rb
  • Просмотрите файл с помощью этой кнопки: enter image description here [/g3]
  • Нажмите кнопку Raw: List item [/g4]
  • Скопируйте URL (docker.rb url в этом примере) из адресной строки
  • brew install <url> (возможно, сначала придется brew unlink, например brew unlink docker)
  • brew switch docker 1.3.3
  • Вернитесь к докеру 1.4.1 brew switch docker 1.4.1

Из этого gist

brew update
brew versions FORMULA
cd `brew --prefix`
git checkout HASH Library/Formula/FORMULA.rb  # use output of "brew versions"
brew install FORMULA
brew switch FORMULA VERSION
git checkout -- Library/Formula/FORMULA.rb    # reset formula

## Example: Using Subversion 1.6.17
#
# $ brew versions subversion
# 1.7.3    git checkout f8bf2f3 /usr/local/Library/Formula/subversion.rb
# 1.7.2    git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
# 1.6.17   git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# 1.6.16   git checkout 83ed494 /usr/local/Library/Formula/subversion.rb
# 1.6.15   git checkout 809a18a /usr/local/Library/Formula/subversion.rb
# 1.6.13   git checkout 7871a99 /usr/local/Library/Formula/subversion.rb
# 1.6.12   git checkout c99b3ac /usr/local/Library/Formula/subversion.rb
# 1.6.6    git checkout 8774131 /usr/local/Library/Formula/subversion.rb
# 1.6.5    git checkout a82e823 /usr/local/Library/Formula/subversion.rb
# 1.6.3    git checkout 6b6d369 /usr/local/Library/Formula/subversion.rb
# $ cd `brew --prefix`
# $ git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
# $ brew install subversion
# $ brew switch subversion 1.6.17
# $ git checkout -- Library/Formula/subversion.rb
184
ответ дан alxndr 15 August 2018 в 20:31
поделиться
  • 1
    Это единственное, что сработало для меня. Довольно глупо, что менеджер пакетов требует так много фьюзинга только для установки предыдущей версии. Возможно, я испорчен Ruby RVM и bundler, но этот процесс действительно нуждается в оптимизации и абстрагировании. – poetmountain 3 November 2013 в 04:30
  • 2
    Когда я попытался перейти к предыдущей версии Ansible, мне пришлось отменить формулу перед установкой предыдущей версии, как указано. Поэтому перед выполнением brew install <url>, brew unlink <formulaname>. В противном случае это самый простой и кратчайший способ (до сих пор) переключиться на конкретную версию формулы. – bigsweater 9 June 2015 в 16:15
  • 3
    Работала безупречно. – isHristov 7 March 2016 в 13:49
  • 4
    Вы нажимаете кнопку Raw в каком файле ?! – Iulian Onofrei 1 November 2016 в 20:17
  • 5
    Он работает, но иногда вам приходится загружать необработанный файл .rb и изменять контрольную сумму, чтобы избежать того, чтобы Homebrew жаловался на несоответствие SHA. Кажется, что у GitHub большая часть деревьев репо, выведенных сзади примерно в 2017 году, и их контрольные суммы изменились. (На самом деле это вызвало много путаницы в моей команде, когда Bazel начал проваливать хэш-несоответствия в июле прошлого года) – Chang Qian 1 February 2018 в 10:27

Я обнаружил лучшее альтернативное решение, а затем другие сложные решения.

brew install https://raw.github.com/Homebrew/homebrew-versions/master/postgresql8.rb

Загрузите и установите PostgreSQL 8.4.8


Я нашел это решение, начав выполнять шаги по поиску репо и комментария / g0] в репо.

После небольшого исследования выяснилось, что у кого-то есть коллекция редких формуляров, чтобы завариться.


Если вы ищете MySQL 5.1.x , попробуйте это.

brew install https://raw.github.com/Homebrew/homebrew-versions/master/mysql51.rb
93
ответ дан Arslan Ali 15 August 2018 в 20:31
поделиться

Простой рабочий процесс

Теперь, когда Homebrew / версии устарели, Homebrew / core поддерживает несколько версий формул с новым форматом именования.

Чтобы установить определенную версию, например. postgresql 9.5, вы просто запускаете:

$ brew install postgresql@9.5

. Чтобы просмотреть доступные версии, выполните поиск с помощью @:

$ brew search postgresql@
==> Searching local taps...
postgresql@10.1 ✔     postgresql@9.4        postgresql@9.5        postgresql@9.6
634
ответ дан Bijan 15 August 2018 в 20:31
поделиться
  • 1
    Кажется, это самый простой, но когда я копирую и вставляю, получаю fatal: Not a git repository (or any of the parent directories): .git. Я просто cd в каталог вместо (без FORMULANAME.rb), затем сделайте git checkout 120938 – Ramon Tayag 1 July 2012 в 13:28
  • 2
    @RamonTayag, у меня была та же проблема. Сначала убедитесь в cd /usr/local. – gjb 19 December 2012 в 13:22
  • 3
    Я нашел вам шаг 3.5: brew unlink FORMULANAME – Intentss 24 February 2013 в 04:47
  • 4
    brew versions <formula> больше не поддерживается. – Emmanuel Joubaud 3 November 2014 в 11:23
  • 5
    @ dem7w2, вы можете создать символические ссылки с помощью brew link --force postgresql@9.5. Если у вас уже установлена ​​более новая версия и вы хотите, чтобы старая версия была вашей по умолчанию, вам также понадобится --overwrite. – Ryan 16 August 2017 в 14:52

Я просто использовал Homebrew, чтобы вернуться к Maven 2.2.1, так как простой brew install maven установлен Maven 3.0.3.

Сначала вы должны оставить там maven dir, поэтому

$ brew unlink maven

Используйте команду отварочного клапана

$ brew tap homebrew/versions
Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 590, done.
remote: Compressing objects: 100% (265/265), done.
remote: Total 590 (delta 362), reused 549 (delta 325)
Receiving objects: 100% (590/590), 117.49 KiB | 79 KiB/s, done.
Resolving deltas: 100% (362/362), done.
Tapped 50 formula

Теперь вы можете установить формулу maven2:

$ brew install maven2
==> Downloading http://www.apache.org/dist/maven/maven-2/2.2.1/binaries/apache-maven-2.2.1-bin.tar.gz
######################################################################## 100.0%
/usr/local/Cellar/maven2/2.2.1: 10 files, 3.1M, built in 6 seconds
$ mvn --version
Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700)
Java version: 1.6.0_37
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x" version: "10.7.4" arch: "x86_64" Family: "mac" 

Изменить: вы также можете просто brew switch maven 2.2.1 до переключитесь на другую версию.

Изменить: проект Apache Maven реорганизовал свое репо. Обновлен этот ответ для учета этого изменения.

27
ответ дан Cameron Goodale 15 August 2018 в 20:31
поделиться
  • 1
  • 2
    Рад, что вы сочли это полезным. – Cameron Goodale 3 May 2012 в 17:59
  • 3
    Это было очень полезно. Обратите внимание: основа apache реорганизовала двоичные файлы maven в определенные каталоги (1,2,3), поэтому вам нужно будет отредактировать maven.rb для 2.2.1 и, возможно, другие, чтобы соответствовать новой структуре. Например, двоичный файл для 2.2.1 был расположен по адресу: apache.org/dist/maven/maven-2/2.2.1/binaries/… . Обратите внимание на "maven-2 / 2.2.1 /" в URL. – Charles Forcey 5 February 2013 в 09:22
  • 4
    @CharlesForcey Вы правы относительно реорганизации maven dist реорганизации. Я обновлю ответ, чтобы использовать варочный кран, чтобы использовать более старую формулу maven2. Спасибо за комментарий. – Cameron Goodale 6 February 2013 в 22:31

На основе рабочего процесса, описанного в @tschundeee и @ обновлении Debilski 1 , я автоматизировал процедуру и добавил очистку в этот скрипт .

Загрузите , поместите его в свой путь и brewv <formula_name> <wanted_version>. Для конкретного ОП это будет:

cd path/to/downloaded/script/
./brewv postgresql 8.4.4

:)

21
ответ дан Community 15 August 2018 в 20:31
поделиться

Установите старую версию пакета для пива (пример Flyway 4.2.0)

Найдите локальный источник git или клонировать homebrew / homebrew-core локально

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/

OR

git clone git@github.com:Homebrew/homebrew-core.git

Список всех доступных версий

git log master -- Formula/flyway.rb

Скопируйте идентификатор фиксации для версии вы хотите и установить его непосредственно

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/793abfa325531415184e1549836c982b39e89299/Library/Formula/flyway.rb

2
ответ дан ffghfgh 15 August 2018 в 20:31
поделиться

Я решил, по моему мнению, создать формулу для Maven 3.1.1, которой у homebrew/versions не было. Для этого:

  1. Я разблокировал homebrew/versions в github.
  2. Я привязался от $(brew --prefix)/Library/Taps к локальной рабочей копии моей вилки. Я назову это my-homebrew/versions.
  3. Я проверил, указав формулу как my-homebrew/versions/<formula>.
  4. Я отправил запрос на растяжение homebrew/versions для моей новой формулы.

Yay.

0
ответ дан J. B. Rainsberger 15 August 2018 в 20:31
поделиться

Если вы не можете найти свою версию с помощью brew search <formula>, вы также можете попробовать просмотреть журналы фиксации для своей формулы, чтобы найти нужную версию:

вот пример установки более старого версия nginx через заваривание:

From там, мы можем установить 1.6.3 с sha и raw git url:

brew install https://raw.githubusercontent.com/Homebrew/homebrew/eba75b9a1a474b9fc4df30bd0a32637fa31ec049/Library/Formula/nginx.rb

5
ответ дан lfender6445 15 August 2018 в 20:31
поделиться

Для версий, которые в настоящее время не используются в стандартных формулах приготовления, вы можете легко создать свой собственный кран с помощью инструмента из https://github.com/buildtools-version-taps/homebrew-versions-tap-tool

0
ответ дан Lutzifer 15 August 2018 в 20:31
поделиться

Обновленный ответ, так как это добавляет к тому, что @ lance-pollard уже отправлен в качестве рабочего ответа.

Как установить конкретную версию формулы (формулой, используемой в этом примере, является terraform):

  1. Найдите файл формулы, например: https://github.com/Homebrew/homebrew-core/blob/master/Formula/terraform.rb
  2. Получите версию фиксации из истории github с помощью https://github.com/Homebrew/homebrew-core/commits/master/Formula/terraform.rb или git log master -- Formula/terraform.rb, если вы клонировали репо локально.
  3. Получите исходный URL-адрес git с версией фиксации вашей формулы: если ссылка на формулу в github.com - https://github.com/Homebrew/homebrew-core/blob/ e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a / Formula / terraform.rb , ваш необработанный URL-адрес будет: https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
  4. Установите его с помощью: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e4ca4d2c41d4c1412994f9f1cb14993be5b2c59a/Formula/terraform.rb
11
ответ дан Miguel 15 August 2018 в 20:31
поделиться
  • 1
    Спасибо огромное! – Linh 12 January 2018 в 06:54
  • 2
    Чтобы получить исходный URL-адрес git на шаге 3, вы также можете просто нажать «Raw»; и скопируйте URL-адрес, к которому относится браузер. – Brian Topping 12 January 2018 в 18:58

Обновление по строке библиотеки / Formula / postgresql.rb 8 до

http://ftp2.uk.postgresql.org/sites/ftp.postgresql.org/source/v8.4.6/postgresql-8.4.6.tar.bz2

И MD5 в строке 9 до

fcc3daaf2292fa6bf1185ec45e512db6

Сохранить и выйти.

brew install postgres
initdb /usr/local/var/postgres

Теперь на этом этапе вы можете столкнуться с ошибкой postgresql could not create shared memory segment, чтобы обойти это обновление /etc/sysctl.conf следующим образом:

kern.sysv.shmall=65536
kern.sysv.shmmax=16777216

Попробуйте initdb /usr/local/var/postgres еще раз, и он должен

Чтобы запустить postgresql при запуске

launchctl load -w /usr/local/Cellar/postgresql/8.4.6/org.postgresql.postgres.plist

Надеюсь, что помогает:)

1
ответ дан mmrs151 15 August 2018 в 20:31
поделиться

Проблема с homebrew/versions заключается в том, что кто-то должен иметь эту конкретную версию программного обеспечения, перечисленную в репозитории, чтобы вы могли ее использовать. Кроме того, поскольку brew versions больше не поддерживается, требуется другое решение. Для решений, которые указывают использование brew switch, это будет работать, только если вы еще не сделали brew cleanup, поскольку версия должна существовать на вашем компьютере.

У меня возникла проблема с желанием установить конкретную более ранняя версия docker-machine, которая не указана в homebrew/versions. Я решил это, используя приведенное ниже, которое также должно работать для любого установленного программного обеспечения. В приведенном ниже примере будет использоваться docker-machine как пакет, который я хочу понизить с версии 0.5.0 до 0.4.1.

  1. Перейдите в каталог homebrew Formula. Вы можете определить это, выполнив brew info [any package name]. Например, brew info docker-machine дает мне строку, которая показывает мне путь - /usr/local/Cellar/docker-machine/0.5.0. Это говорит мне, что на моей машине homebrew установлен на /usr/local, а мой каталог Formula по умолчанию находится по адресу /usr/local/Library/Formula
  2. . Найдите конкретный файл формулы (.rb) для вашего пакета. Поскольку я хочу понизить docker-machine, я могу увидеть файл docker-machine.rb.
  3. Получить историю версий для этого файла формулы. Введите git log docker-machine.rb. Здесь будет приведена полная история фиксации для этого файла. Вы увидите вывод следующим образом:
    ...more 

    commit 20c7abc13d2edd67c8c1d30c407bd5e31229cacc
    Author: BrewTestBot 
    Date:   Thu Nov 5 16:14:18 2015 +0000

        docker-machine: update 0.5.0 bottle.

    commit 8f615708184884e501bf5c16482c95eff6aea637
    Author: Vincent Lesierse 
    Date:   Tue Oct 27 22:25:30 2015 +0100

        docker-machine 0.5.0

        Updated docker-machine to 0.5.0

        Closes #45403.

        Signed-off-by: Dominyk Tiller 

    commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423
    Author: BrewTestBot 
    Date:   Mon Sep 21 14:04:04 2015 +0100

        docker-machine: update 0.4.1 bottle.

    commit 18fcbd36d22fa0c19406d699308fafb44e4c8dcd
    Author: BrewTestBot 
    Date:   Sun Aug 16 09:05:56 2015 +0100

        docker-machine: update 0.4.1 bottle.

    ...more

Сложная часть - найти последнюю фиксацию для конкретной версии, которую вы хотите. В приведенном выше примере я могу сказать, что последняя версия версии 0.4.1 была зафиксирована с этим тегом фиксации: commit 5970e1af9b13dcbeffd281ae57c9ab90316ba423. Конец над этой точкой начинается с версии 0.5.0 (записи журнала git перечислены с последней по самую раннюю дату).

  1. Получить предыдущую версию файла формулы. Используя тэг фиксации с шага №3 (вы можете использовать первые 6 символов), вы можете получить более старую версию файла формулы, используя следующее: git checkout 5970e1 docker-machine.rb
  2. Удалить текущую версию пакета. Просто запустите обычные команды пива, чтобы удалить текущую версию вашего пакета. Ex. brew uninstall docker-machine
  3. Установите более старую версию пакета Теперь вы можете просто запустить обычную команду установки пива, и она установит формулу, которую вы проведете вне. Ex. brew install docker-machine

Возможно, вам понадобится повторно связать, используя brew link docker-machine, если необходимо.

Если вы в любое время захотите вернуться к последней версии определенного пакета, зайдите в каталог Формулы и выполните следующие команды в файле формулы (.rb)

git reset HEAD docker-machine.rb
git checkout -- docker-machine.rb

Затем вы можете brew uninstall docker-machine и brew install docker-machine получить последнюю версию и сохранить это будет идти вперёд.

7
ответ дан rchawdry 15 August 2018 в 20:31
поделиться
  • 1
    Очень подробно напишите @rchawdry, спасибо. BTW: чтобы найти коммит, который соответствует той версии, которую вы хотите, быстро добавьте параметр -grep git log --grep 0.4.1 docker-machine.rb. – Jerry Mindek 10 November 2015 в 20:24
  • 2
    Для меня путь был /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula – akauppi 24 October 2016 в 04:07
  • 3
    Таким образом, я не смог найти достаточно истории версий для cairo. По крайней мере, ответ «sealocal» показал почему-то. – akauppi 24 October 2016 в 04:07

Вы можете использовать стратегию определения формулы и конкретной фиксации в истории формулы, которая соответствует версии пакета, который вы хотите установить.

  1. Перейти к https://github.com/Homebrew/homebrew-core
  2. Нажмите t на клавиатуре, чтобы активировать поиск файлов.
  3. Определите формулу, которая выглядит наиболее релевантным, возможно: Formula/mysql.rb, доведя вас до местоположения файла forumla: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb .
  4. Посмотрите историю изменений, нажав кнопку History, которая находится по адресу https://github.com/Homebrew/homebrew-core/commits/master/Formula/mysql.rb . Если вас интересует MySQL 5.7.10, вы можете щелкнуть последнюю версию до 5.7.11, которая переходит на коммит GitHub: https://github.com/Homebrew/homebrew/commit/c77882756a832ac1d87e7396c114158e5619016c # Library / Formula / mysql.rb

ПРИМЕЧАНИЕ. Возможно, вам придется просматривать историю фиксации в консоли на предложение GitHub, если история фиксации не загружается в вашем браузере. Замените фиксацию SHA выше в URL, если вы заинтересованы в том, чтобы зафиксировать ее на GitHub. В качестве альтернативы перейдите к шагу 7.

  1. Нажмите кнопку «Просмотр», чтобы просмотреть источник для файла mysql.rb после применения фиксации.
  2. Затем нажмите кнопку «Raw» для просмотра исходного источника.
  3. Скопируйте URL-адрес. В качестве альтернативы, создайте URL-адрес самостоятельно с именем файла mysql.rb, чтобы идентифицировать формулу и конкретную версию этой формулы (идентифицированную с помощью SHA в URL-адресе ниже). https://raw.githubusercontent.com/Homebrew/homebrew/c77882756a832ac1d87e7396c114158e5619016c/Library/Formula/mysql.rb
  4. Установите его с помощью $ brew install [URL from step 7]
    $ brew install https://raw.githubusercontent.com/Homebrew/homebrew/c77882756a832ac1d87e7396c114158e5619016c/Library/Formula/mysql.rb
    

ПРИМЕЧАНИЕ. Этот ответ был обновлен, чтобы учесть удаление веб-сайта braumeister.org. Тот же принцип применяется, braumeister просто предоставил удобный для новичков способ навигации по версиям формул.

51
ответ дан sealocal 15 August 2018 в 20:31
поделиться
  • 1
    К сожалению, это слишком далеко в списке ответов, но это лучшее решение. Это то, что я использую, кроме как вместо использования braumeister. Я просто перехожу на страницу Homebrew GitHub формулы, которую я хочу (например, для gcc перейдите в github.com/Homebrew/homebrew/blob/master/Library/Formula/ gcc.rb ), а затем я просматриваю «Историю». файла до тех пор, пока я не дойду до версии, которую хочу. – Guy Kogus 31 March 2016 в 07:49
  • 2
    Это было, безусловно, лучшее решение в моем случае - установка более старой версии Watchman, которая не требовала Xcode 8.1 – Zachary Keener 17 November 2016 в 18:59
  • 3
    удивительный ответ, работал для меня – domoarigato 11 February 2017 в 18:01
  • 4
    Это самый простой способ установить более старую версию. Большой ответ – Martin M 4 March 2017 в 21:28
  • 5
    Это сработало для меня, но мне пришлось заваривать программное обеспечение в первую очередь. – Brett Wagner 8 March 2017 в 21:29

это может быть сделано очень легко для последней версии варева.

brew tap homebrew/versions
brew install subversion17 # for svn 1.7 branch instead of last available
brew install postgresql8  # for postgresql 8 (which you ask)
7
ответ дан Speakus 15 August 2018 в 20:31
поделиться
  • 1
    ... если кто-то потрудился создать рецепт с версией для этого пакета. – clacke 3 September 2014 в 09:57

Ни один из них действительно не работал для моего случая (Python), поэтому я добавлю свои 2 цента:

cd `brew --prefix`
git log Library/Formula/python.rb

Результат выглядит следующим образом:

commit 9ff2d8ca791ed1bd149fb8be063db0ed6a67a6de
Author: Dominyk Tiller <dominyktiller@gmail.com>
Date:   Thu Jun 30 17:42:18 2016 +0100

    python: clarify pour_bottle reason

commit cb3b29b824a264895434214e191d0d7ef4d51c85
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Wed Jun 29 14:18:40 2016 +0100

    python: update 2.7.12 bottle.

commit 45bb1e220341894bbb7de6fd3f6df20987dc14f0
Author: Rakesh <rakkesh@users.noreply.github.com>
Date:   Wed Jun 29 10:02:26 2016 +0530

    python 2.7.12

    Closes #2452.

    Signed-off-by: Tim D. Smith <git@tim-smith.us>

commit cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Fri Jun 17 20:14:36 2016 +0100

    python: update 2.7.11 bottle.

...
< / blockquote>

Я хочу версию 2.7.11, поэтому мой хэш - cf5da0547cd261f79d69e7ff62fdfbd2c2d646e9 (или cf5da05 для краткости). Затем я проверяю эту версию и устанавливаю формулу python:

git checkout cf5da05
brew install python

Наконец, очищаем:

git checkout master
4
ответ дан tenfishsticks 15 August 2018 в 20:31
поделиться
  • 1
    Жизненные изменения и этот ответ наиболее актуальны. Не забывайте о HOMEBREW_NO_AUTO_UPDATE и читайте github.com/Homebrew/brew/issues/1188 – Wile E. 4 October 2016 в 10:27
  • 2
    Правильными командами являются cd brew --prefix /Homebrew и git log Library/Taps/homebrew/homebrew-core/Formula/python.rb – Iulian Onofrei 15 January 2018 в 15:34
  • 3
    Но даже это не работает, потому что /Library/Taps игнорируется. – Iulian Onofrei 15 January 2018 в 15:36

Я просто скопировал более старый выпуск elasticsearch в каталог /usr/local/Cellar/elasticsearch.

$ mkdir /usr/local/Cellar/elasticsearch/5.4.3/bin
$ cp elasticsearch /usr/local/Cellar/elasticsearch/5.4.3/bin
$ brew switch elasticsearch 5.4.3

Вот и все. Возможно, это полезно для всех.

1
ответ дан Terru_theTerror 15 August 2018 в 20:31
поделиться
  • 1
    Уродливый хак. Но, да, это сработало и для меня, пока я пытался искать и amp; установите более старую версию консула! Приветствия. – darkdefender27 6 April 2018 в 12:50

Теперь есть гораздо более простой способ установить более раннюю версию формулы, которую вы ранее устанавливали. Просто используйте

brew switch [formula] [version]

Например, я чередуюсь регулярно между Node.js 0.4.12 и 0.6.5:

brew switch node 0.4.12
brew switch node 0.6.5

Поскольку brew switch просто меняет символические ссылки, это очень быстро. См. Дополнительную документацию на домашней Wiki в Внешние команды .

426
ответ дан Trevor Burnham 15 August 2018 в 20:31
поделиться
  • 1
    Я попробовал это, и он преуспел в сообщении & quot; 33 ссылки, созданные для /usr/local/Cellar/node/0.4.7 & quot; , но когда я запускаю узел после этого, он терпит неудачу с сообщением & quot; -bash: / usr / local / bin / node: нет такого файла или каталога & quot; , Любая идея, что может быть не так? Примечание: я загрузил 0.4.7 вручную и поместил его в каталог подвала, потому что я не знаю, как скачать anyhting, но самую последнюю версию узла с использованием варева. – Soroush Hakami 22 December 2011 в 23:36
  • 2
    Надеюсь, вы знаете, что есть что-то, называемое «nvm» [ github.com/creationix/nvm] ! – Gaurav Agarwal 27 May 2013 в 17:00
  • 3
    вау ... хочу, чтобы это было выбрано как правильный ответ! +1 – Larry 24 July 2013 в 10:45
  • 4
    Я полагаюсь на уже установленную версию пакета. Если вам не хватает версии, вам все равно придется применить выбранный ответ. – Nic Strong 19 December 2013 в 07:11
  • 5
    @NicStrong Действительно, brew switch полагается на уже запрограммированную версию. Однако, к сожалению, принятый в настоящее время ответ невероятно бесполезен, запутан и устарел. Здесь есть лучше ответы ниже, которые much более полезны. – GDP2 8 December 2017 в 03:46
Другие вопросы по тегам:

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