How can I brew link a specific version?

前端 未结 5 527
故里飘歌
故里飘歌 2020-12-07 09:37

I have a few kegs of the same package in /usr/local/Cellar/libfoo like /usr/local/Cellar/libfoo/1.0.1, /usr/local/Cellar/libfoo/HEAD a

相关标签:
5条回答
  • 2020-12-07 09:56

    brew switch libfoo mycopy

    You can use brew switch to switch between versions of the same package, if it's installed as versioned subdirectories under Cellar/<packagename>/

    This will list versions installed ( for example I had Cellar/sdl2/2.0.3, I've compiled into Cellar/sdl2/2.0.4)

    brew info sdl2
    

    Then to switch between them

    brew switch sdl2 2.0.4
    brew info 
    

    Info now shows * next to the 2.0.4

    To install under Cellar/<packagename>/<version> from source you can do for example

    cd ~/somewhere/src/foo-2.0.4
    ./configure --prefix $(brew --Cellar)/foo/2.0.4
    make
    

    check where it gets installed with

    make install -n
    

    if all looks correct

    make install
    

    Then from cd $(brew --Cellar) do the switch between version.

    I'm using brew version 0.9.5

    0 讨论(0)
  • 2020-12-07 09:57

    if @simon's answer is not working in some of the mac's please follow the below process.

    If you have already installed swiftgen using the following commands:

    $ brew update $ brew install swiftgen

    then follow the steps below in order to run swiftgen with older version.

    Step 1: brew uninstall swiftgen Step 2: Navigate to: https://github.com/SwiftGen/SwiftGen/releases and download the swiftgen with version: swiftgen-4.2.0.zip.

    Unzip the package in any of the directories.

    Step 3: Execute the following in a terminal:

    $ mkdir -p ~/dependencies/swiftgen
    $ cp -R ~/<your_directory_name>/swiftgen-4.2.0/ ~/dependencies/swiftgen
    $ cd /usr/local/bin
    $ ln -s ~/dependencies/swiftgen/bin/swiftgen swiftgen
    $ mkdir ~/Library/Application\ Support/SwiftGen
    $ ln -s ~/dependencies/swiftgen/templates/ ~/Library/Application\ Support/SwiftGen/
    
    $ swiftgen --version
    

    You should get: SwiftGen v0.0 (Stencil v0.8.0, StencilSwiftKit v1.0.0, SwiftGenKit v1.0.1)

    0 讨论(0)
  • 2020-12-07 10:01

    I asked in #machomebrew and learned that you can switch between versions using brew switch.

    $ brew switch libfoo mycopy 
    

    to get version mycopy of libfoo.

    0 讨论(0)
  • 2020-12-07 10:02

    The usage info:

    Usage: brew switch <formula> <version>
    

    Example:

    brew switch mysql 5.5.29
    

    You can find the versions installed on your system with info.

    brew info mysql
    

    And to see the available versions to install, you can provide a dud version number, as brew will helpfully respond with the available version numbers:

    brew switch mysql 0
    

    Update (15.10.2014):

    The brew versions command has been removed from brew, but, if you do wish to use this command first run brew tap homebrew/boneyard.

    The recommended way to install an old version is to install from the homebrew/versions repo as follows:

    $ brew tap homebrew/versions
    $ brew install mysql55
    

    For detailed info on all the ways to install an older version of a formula read this answer.

    0 讨论(0)
  • 2020-12-07 10:19

    If you have installed, for example, php 5.4 it could be switched in the following way to php 5.5:

    $ php --version
    PHP 5.4.32 (cli) (built: Aug 26 2014 15:14:01) 
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    
    $ brew unlink php54
    
    $ brew switch php55 5.5.16
    
    $ php --version
    PHP 5.5.16 (cli) (built: Sep  9 2014 14:27:18) 
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    
    0 讨论(0)
提交回复
热议问题