GoFish is a cross-platform systems package manager, bringing the ease of use of Homebrew to Linux and Windows.

Related tags

hacktoberfest
Overview

GoFish, The Package Manager

Build Status

Features, usage and installation instructions can be found on the homepage.

What does GoFish do?

GoFish is a cross-platform systems package manager, bringing the ease of use of Homebrew to Linux and Windows.

$ gofish install go
==> Installing go...
🐠  go 1.10.1: installed in 2.307602197s

GoFish works across all three major operating systems (Windows, MacOS, and Linux). It installs packages into its own directory and symlinks their files into /usr/local (or C:\ProgramData for Windows). You can think of it as the cross-platform Homebrew.

Want to add your project to the list of installable thingies?

Make a PR at fishworks/fish-food! Just make sure to follow the Contributing Guide first.

Troubleshooting

For troubleshooting, see the Troubleshooting Guide.

Security

Please email security issues to Matt Fisher.

License

GoFish is licensed under the Apache v2 License.

Issues
  • implement `gofish bump`

    implement `gofish bump`

    Hi, i'm testing/using gofish since a few weeks and really like the idea but updating food is in my opinion a bit to unhandy.. at the moment i need to update the version and all checksums, which can be many.. also many project are already providing the checksum for each release in a separate file.. so it be really great if the could use these files for verifying downloads.. if this would be possible a update of my food would be only to increment the version itself.. so updating food would be a small step and can be done quickly.. so what do you think? could this be an option?

    thanks eloo

    enhancement 
    opened by eloo 14
  • Transpile homebrew formule to fish food

    Transpile homebrew formule to fish food

    To expedite package creation, it would be ideal to have a homebrew formula transformer for fish food

    enhancement help wanted 
    opened by avelino 10
  • rename to something other than fish

    rename to something other than fish

    the name and path (/usr/local/bin/fish on linux/macOS) conflicts with another tool of the same name: Fish Shell.

    opened by bacongobbler 10
  • Issue 113 upgrade added rigs

    Issue 113 upgrade added rigs

    Allows the use of added rigs and updating Provides a rig.conf that details which rig the food were installed from. Currently, the rig.conf is simply adding the rig and no other values.

    opened by s3than 8
  • Feature request: Creating symlinks under $GOFISH_BINPATH

    Feature request: Creating symlinks under $GOFISH_BINPATH

    Hi! Thanks for starting and sharing this awesome project ☺️

    I'm using gofish to install "project dependencies", not system-wide dependencies, i.e. to manage symlinks across many directories other than /usr/local/bin.

    After reading gofish code, I realized that there is an envvar named $GOFISH_BINPATH, that is read by gofish, expected setting it to somewhere other than /usr/loca/bin would do my job, but it didn't.

    Let's say I want to install go under $(pwd)/.tools/bin, I'd run:

    export GOFISH_BINPATH=$(pwd)/.tools/bin
    
    gofish init
    gofish install go
    

    so that I can use the project-specific go by setting:

    export PATH=$GOFISH_BINPATH:${PATH}
    

    But this doesn't work as I wanted. init created $(pwd)/.tools/bin, but install installed the symlink under /usr/local/bin on my macOS and Linux machines, regardless of what I set to GOFISH_BINPATH.

    Can we make GOFISH_BINPATH to change where the install command installs symlinks? Or would there be any other (possible) workaround or feature to address my use-case?

    Thanks!

    Related https://github.com/fishworks/gofish/pull/174

    opened by mumoshu 7
  • SSL cert verification error trying to download helm

    SSL cert verification error trying to download helm

    I am virtually certain that there is something misconfigured on my (MacOS 10.14 Catalina) system, but I haven't had this problem before with any other tools so far, and I couldn't find any docs or code at all about how SSL certificates are verified in gofish, or related issues, so I'm opening an issue for it.

    $ gofish --log-level 9999 install helm
    ==> Installing helm...
    ERRO[0001] Get "https://get.helm.sh/helm-v3.5.4-darwin-amd64.tar.gz": x509: certificate signed by unknown authority
    Error: failed to download package for OS/arch darwin/amd64 with URL https://get.helm.sh/helm-v3.5.4-darwin-amd64.tar.gz to filepath /Users/kingdonb/Library/Caches/gofish/helm-3.5.4-darwin-amd64.tar.gz
    

    I'm not certain how to diagnose this further, and I thought it might be quicker to ask a question, if you might have seen this before. I'll keep trying in case you haven't seen it.

    opened by kingdonb 6
  • Create symlinks under $GOFISH_BINPATH

    Create symlinks under $GOFISH_BINPATH

    This fixes go-fish install to use $GOFISH_BINPATH when installing foods.

    To be clear, go-fish init had been correctly using $GOFISH_BINPATH to override the default bin path(e.g. /usr/local/bin on *nix) to be created. So, I had expected go-fish install to install binaries under the path go-fish init created, but it didn't.

    This patch updates gofish install to create symlinks under $GOFISH_BINPATH if set, so that the behavior is consistent with init.

    opened by mumoshu 6
  • agnostic storage provider

    agnostic storage provider

    I am using this for package management and it occurred to me it would also be a nice addition to goFish

    https://github.com/gomods/athens

    It would allow GoFish to store the app binaries anywhere in any cloud but also onpremise. It also seems to have a great velocity in the golang community.

    https://github.com/gomods/athens/blob/master/pkg/repo/fetcher.go Has a APi to github as GoFish will need it.

    let me knwo what you think.

    enhancement needs information 
    opened by ghost 6
  • How to handle major version changes / breaking changes ?

    How to handle major version changes / breaking changes ?

    Helm v3 has been released. Should we update food to that version?

    Taking terraform example, we have updated it always, irrespective of breaking changes

    opened by karuppiah7890 5
  • `vim $(gofish create foo)` did not do what I thought it would

    `vim $(gofish create foo)` did not do what I thought it would

    Platform: macOS

    The manual suggests:

    Create the Fish Food
    
    gofish update # make sure we've got a fresh checkout of master
    vim $(gofish create foo)
    

    I expected this to create Food/foo.lua and open my editor to that file. Instead, it created Food/foo and opened my editor to a blank file (not Food/foo).

    Workaround: I renamed foo to foo.lua and edited that.

    opened by technosophos 5
  • install completions

    install completions

    On homebrew you can install completions (fish, zsh, bash)... is this something planned for gofish as well?

    I did look for issues et al, but didn't find anything. Also didn't find any fish food using resources to do it, so I'm assuming its not possible right now (please let me know if my assessment is incorrect)

    Thanks!

    opened by caarlos0 0
  • feat: basic auth credentials from netrc

    feat: basic auth credentials from netrc

    add basic auth credentials to request for food packages if present in users netrc file

    add 'Accept: application/octet-stream' header to permit working through github api

    ref: fishworks#190

    opened by stuart-warren 1
  • proposal: ability to provide credentials to download releases

    proposal: ability to provide credentials to download releases

    gofish can install private rigs as it uses the hosts git configuration

    however to download the release itself it just does a simple http get request

    could we support netrc files or similar?

    gitlab needs an authorization header like the following

    curl --header "Authorization: Bearer ${GITLAB_TOKEN}" 
    "https://somegitlab.com/stuart.warren/some-tool/-/releases/0.3.0/downloads/some-tool_0.3.0_darwin_amd64.tar.gz"
    

    github needs something similar "Authorization: token ${GITHUB_API_TOKEN}"

    perhaps we could set both?

    opened by stuart-warren 2
  • user.Current and sudo check

    user.Current and sudo check

    Sudo check and partial switch to user.Current

    opened by azilber 1
  • feature: ability to swap out the default rig

    feature: ability to swap out the default rig

    It looks like no matter what it's searching the default "Rig" even if it has been removed. Also it looks like support for Private or SSH based repos doesn't work? image

    If there's any way to configure gofish to use a private Fish Food repository instead of the default, this would be an amazing tool.

    enhancement 
    opened by shakefu 8
  • `gofish lint` should catch semver-invalid packages

    `gofish lint` should catch semver-invalid packages

    See https://github.com/fishworks/fish-food/issues/854

    opened by bacongobbler 0
  • Installing as a user, not globally as root for a whole system? (Linux)

    Installing as a user, not globally as root for a whole system? (Linux)

    Is it possible? (For both gofish itself and its packages)

    opened by daanzu 9
  • Brewfile equivalent?

    Brewfile equivalent?

    I looked at the docs and skimmed the code and didn't see anything, but I'm curious if there's an equivalent to Brewfile. With a Brewfile you can define your dependencies in a list and run brew bundle from the same directory that the Brewfile lives in and it will install all of the dependencies listed there.

    If this functionality doesn't exist, would it be cool to PR adding it?

    enhancement 
    opened by chaseadamsio 6
  • gofish not removing old symbolic links to old binaries in a particular case

    gofish not removing old symbolic links to old binaries in a particular case

    Recently we removed godoc from go food for version 1.13 . I realized there was a small possible problem. This is what I noticed when I did the following steps

    $ gofish search go
    NAME            RIG                             VERSION
    glooctl         github.com/fishworks/fish-food  0.18.31
    go              github.com/fishworks/fish-food  1.12.9
    gofish          github.com/fishworks/fish-food  0.10.0
    gomplate        github.com/fishworks/fish-food  3.5.0
    hugo            github.com/fishworks/fish-food  0.57.2
    
    $ gofish install go
    ....
    
    $ type godoc
    /usr/local/bin/godoc
    
    $ ls -al /usr/local/bin/godoc
    lrwxr-xr-x  1 karuppiahn  staff  45 Sep  6 22:04 /usr/local/bin/godoc -> /usr/local/Fish/Barrel/go/1.12.9/go/bin/godoc
    
    $ gofish upgrade go
    ==> Rigs updated!
    NAME
    github.com/fishworks/fish-food
    
    🐠  rigs updated in 2.355888072s
    ==> Upgrading go...
    🐠  go 1.13: upgraded in 4m20.096557262s
    
    $ type godoc
    godoc is /usr/local/bin/godoc
    
    $ ls -al  /usr/local/bin/godoc
    lrwxr-xr-x  1 karuppiahn  staff  45 Sep  6 22:04 /usr/local/bin/godoc -> /usr/local/Fish/Barrel/go/1.12.9/go/bin/godoc
    

    If you notice, since there was no godoc in v1.13 , it's binary file sym link was not overwritten to the latest one, and the link wasn't removed, so the old godoc remains, pointing to v1.12.9 . I think it's not much of a great issue in this case, but I'm not sure if that will be the case for all the software. What if hypothetically you will need go and godoc version to be compatible in which case, an older godoc isn't desired. What do others think about this?

    bug 
    opened by karuppiah7890 1
  • consider switching to an apt-style repository architecture

    consider switching to an apt-style repository architecture

    Having a git-backed repository structure makes the forking and maintenance model incredibly simple for the back-end, however it comes with the trade-off of only having the ability to install the latest version of a package.

    As a user, I should be able to install a package at a version that was previously made available from a package repository:

    $ gofish install helm --version 2.8.2
    
    opened by bacongobbler 3
Releases(v0.14.0)
  • v0.14.0(May 18, 2021)

    GoFish v0.14.0 brings a few bug fixes as well as an update to Go 1.16, fixing several underlying bugs and addressing recent security updates with older versions of Go.

    Install

    To install v0.14.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.13.0(Jul 24, 2020)

    GoFish v0.13.0 is a relatively small release, but an important one. v0.13.0 introduces ARM, ARM64, and ppc64le builds of GoFish, allowing GoFish to be usable on Raspberry Pis, Microsoft Surface Pro X, and the eventual MacBook Pros with Apple's A-series ARM chipsets. We look forward to your feedback and bug reports on these platforms!

    Several other enhancements include:

    • aliases for gofish uninstall: gofish rm | gofish remove
    • gofish uninstall now accepts multiple arguments

    You can view the full CHANGELOG on what's changed between v0.12.2 and v0.13.0 here.

    Install

    To install v0.13.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.12.2(Jun 22, 2020)

    GoFish 0.12.2 is a hotfix release for v0.12.1. There were some issues with fetching and un-archiving certain packages causing gofish install to fail.

    You can see the full CHANGELOG on what's changed between v0.12.1 and v0.12.2 here.

    Install

    To install v0.12.2, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.12.1(Jun 22, 2020)

    GoFish 0.12.01 is a hotfix release for v0.12.0. There were some issues with fetching and un-archiving the cached packages causing gofish install to fail.

    You can see the full CHANGELOG on what's changed between v0.12.0 and v0.12.1 here.

    Install

    To install v0.12.1, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.12.0(Jun 22, 2020)

    GoFish 0.12.0 now supports bzip2, xz and rar package formats.

    You can see the full CHANGELOG on what's changed between v0.11.0 and v0.12.0 here.

    Install

    To install v0.12.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.11.0(Dec 4, 2019)

    NOTE: there was a breaking change to the home paths on several operating systems. Please make sure to migrate your existing installations over with mv /usr/local/Fish /usr/local/gofish, and run gofish unlink and gofish link to re-link your installations over to the new home directory. Either that, or start from scratch.

    GoFish 0.11.0 fixes a few issues with path traversals. It also introduced a new environment variable to override the binary install path: GOFISH_BINPATH.

    On the project's side, we switched over from CircleCI and AppVeyor to Github Actions.

    You can see the full CHANGELOG on what's changed between v0.10.0 and v0.11.0 here.

    Install

    To install v0.11.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/main/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/main/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Sep 3, 2018)

    GoFish v0.10.0 is an incremental release over 0.9.0 with a few enhancements:

    • introduced the ability to install mulitple packages in a single gofish install, e.g. gofish install go hugo (thanks @tomlazar!)
    • implemented gofish rig path <rig> for programmatic access to a rig. This is useful when making changes in a rig via cd $(gofish rig path github.com/fishworks/fish-food)
    • fixed a bug where gofish upgrade wouldn't work on Windows due to symlinking issues (now fixed in Go 1.11)

    You can see the full CHANGELOG on what's changed between v0.9.0 and v0.10.0 here.

    Install

    To install v0.10.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Aug 9, 2018)

    This release is an incremental release over 0.8.0 with a few enhancements:

    • fixed a bug where gofish would upgrade everything on a gofish upgrade, rather than only the packages that need upgrades
    • fixed a bug where gofish update before calling gofish init would cause a panic stack trace
    • allowed gofish to accept capitalized shasums for string comparison (thanks @PatrickLang!)
    • fixed a bug where gofish rig add would report an unexpected error when adding a poorly-formed rig

    You can see the full CHANGELOG on what's changed between v0.8.0 and v0.9.0 here.

    Install

    To install v0.9.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Jul 14, 2018)

    • added named rigs to gofish rig add, allowing users to rename rigs on-the-fly via gofish rig add <URL> myrig
    • fixed a bug where zip files with recursive directories would not be created (e.g. gofish install go on Windows)
    • swapped out $USER to rely on id to provide the user and group name for gofish init, making it more portable across other systems
    • added example Dockerfile for demonstrative purposes on how to run gofish in a Docker container.

    You can see the full CHANGELOG on what's changed between v0.7.0 and v0.8.0 here.

    Install

    To install v0.8.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Jul 4, 2018)

    GoFish v0.7.0 is a small incremental change over v0.6.2:

    • gofish lint: lints fish food, making it easier to test for fully formed packages
    • fixed a bug where gofish create would return no error when failing to create a new file (see https://github.com/fishworks/gofish/commit/26bde7a8073b9b70917c52249fad39a74693333d)

    You can see the full CHANGELOG on what's changed between v0.6.2 and v0.7.0 here.

    Install

    To install v0.7.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(May 12, 2018)

    GoFish v0.6.2 introduces several new core usability features, including

    • gofish version: shows version information about gofish
    • implemented installing packages from custom rigs
    • gofish install and gofish uninstall now perform a fuzzy string search similar to gofish search, so gofish install cm will install chartmuseum if there's no other matching packages
    • gofish install now retries downloading a package using the package mirrors if the package URL fails
    • fixed an issue where there were cache collisions with differing versions of the same package (see #48)
    • added appveyor.yml to gofish so tests are run on both Linux and Windows

    You can see the full CHANGELOG on what's changed between v0.5.0 and v0.6.2 here.

    v0.6.2? Where's v0.6.0?

    There were several bugs introduced in v0.6.0 and v0.6.1 for Windows users, so I didn't feel comfortable publishing the release binaries until we got those issues sorted out.

    Install

    To install v0.6.2, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Apr 21, 2018)

    GoFish v0.5.0 introduces several new core usability features, including

    • gofish search: fuzzy search engine for finding available fish food to install. Accepts multiple keywords!
    • gofish rotten: shows fish food past their best before date (outdated)
    • gofish cleanup: cleans up fish food identified as past their best before date (outdated) from gofish rotten
    • fixed a bug where gofish install gofish or gofish upgrade gofish couldn't upgrade itself on Windows
    • fixed a bug where the GoFish install script couldn't replace itself on Windows
    • added a license header to fish food so they can attribute their license

    You can see the full CHANGELOG on what's changed between v0.4.0 and v0.5.0 here.

    Install

    To install v0.5.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    All users of GoFish can upgrade GoFish using GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Apr 14, 2018)

    GoFish v0.4.0 formally renames the project from Fish to GoFish and includes a fix for gofish tank on Windows.

    With the project rename, all environment variables exported from gofish tank were changed from FISH_* to GOFISH_*, so please change your scripts accordingly when upgrading.

    You can see the full CHANGELOG on what's changed between v0.3.0 and v0.4.0 here.

    Install

    To install v0.4.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    Unfortunately this trick won't work on Windows until https://github.com/fishworks/fish/issues/46 is fixed, but for MacOS/Linux users, you can upgrade GoFish by installing GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Apr 14, 2018)

    GoFish v0.3.0 introduces several new features around getting started with contributing new fish food, including

    • gofish tank: display's information about gofish's environment (thanks to @jdolitsky for the contribution)
    • gofish install now verifies the shasum provided in a fish food
    • gofish create now returns the path to the newly created fish food, so it can be chained with vim $(gofish create foo)
    • fixed a bug with gofish create not creating the .lua file extension

    We've also beefed up CI for fish-food, adding Windows and Linux support with MacOS support soon to come! This ensures that new packages contributed to fish food will be tested across all three platforms, ensuring a smooth contribution experience.

    You can see the full CHANGELOG on what's changed between v0.2.0 and v0.3.0 here.

    Install

    To install v0.3.0, you have two options:

    1. From the Install Scripts

    MacOS/Linux:

    curl -fsSL https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.sh | bash
    

    Windows (PowerShell, as Administrator):

    Set-ExecutionPolicy Bypass -Scope Process -Force
    iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/fish/master/scripts/install.ps1'))
    

    2. Upgrade GoFish with GoFish!

    Unfortunately this trick won't work on Windows until https://github.com/fishworks/fish/issues/46 is fixed, but for MacOS/Linux users, they can upgrade GoFish by installing GoFish! How neat is that?

    First, you have to install GoFish, with GoFish:

    gofish update
    gofish install gofish
    

    Then, any time you want to upgrade GoFish, call gofish upgrade!

    gofish upgrade gofish
    
    Source code(tar.gz)
    Source code(zip)
Package Management for Golang

Glide: Vendor Package Management for Golang Are you used to tools such as Cargo, npm, Composer, Nuget, Pip, Maven, Bundler, or other modern package ma

null 8.1k Oct 18, 2021
Go dependency management tool experiment (deprecated)

Dep dep is a dependency management tool for Go. It requires Go 1.9 or newer to compile. NOTE: Dep was an official experiment to implement a package ma

Go 13.1k Oct 16, 2021
Go Package Manager (gopm) is a package manager and build tool for Go.

?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? In favor of Go Modules Proxy since Go 1.11, this pr

Go Package Manager 2.5k Oct 12, 2021
gPac - a linux package manager

gPac is a useless package manager. It is included in the gSuite, which is a suite of tools written in GO. gPac is a KISS - like package manager.

Luis 3 Oct 12, 2021
Create and manage Isolated Virtual Environments for Go

VenGO Create and manage Isolated Virtual Environments for Golang. Motivation Why a tool to generate and manage virtual environments in Go?. Well, some

Oscar Campos 120 Apr 21, 2021
Go Manager - bundle for go

gom - Go Manager Why The go get command is useful. But we want to fix the problem where package versions are different from the latest update. Are you

mattn 1.4k Oct 5, 2021
🦄 Easy, fast and open-source local package manager for Python!

Unikorn ?? Easy, fast and open-source local package manager for Python! Key Features Speed: You can add a package in one second.

Penguen 7 Sep 27, 2021
Golang Version Manager

g 注意:master分支可能处于开发之中并非稳定版本,请通过tag下载稳定版本的源代码,或通过release下载已编译的二进制可执行文件。 g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。 特性 支持列出可供安装的go版本号 支持列出已安

voidint 417 Oct 22, 2021
A Maven plugin allows to build Go applications with maven

Changelog 2.3.7 (SNAPSHOT) fixed #80 (thanks fmazoyer) 2.3.6 (19-dec-2020) improved restoration of go.mod and go.sum state after build refactoring and

Igor Maznitsa 132 Oct 19, 2021
A simple dependency manager for Go (golang), inspired by Bundler.

Goop A dependency manager for Go (golang), inspired by Bundler. It is different from other dependency managers in that it does not force you to mess w

Peter Jihoon Kim 778 Jul 18, 2021
Go Dependency Analysis toolkit

Goda is a Go dependency analysis toolkit. It contains tools to figure out what your program is using.

Loov 568 Oct 11, 2021
Moved to https://gitea.com/lunny/gop

GOP 简体中文 GOP is a project manangement tool for building your golang applications out of global GOPATH. In fact gop will keep both global GOPATH and ev

Lunny Xiao 48 Oct 8, 2021
Barebones dependency manager for Go.

Johnny Deps Johnny Deps is a small tool from VividCortex that provides minimalistic dependency versioning for Go repositories using Git. Its primary p

VividCortex 214 Sep 27, 2021
Package core is a service container that elegantly bootstrap and coordinate twelve-factor apps in Go.

Package core is a service container that elegantly bootstrap and coordinate twelve-factor apps in Go. Background The twelve-factor methodology has pro

DoNews 47 Sep 30, 2021
dependency tool for go

Godep - Archived Please use dep or another tool instead. The rest of this readme is preserved for those that may still need its contents. godep helps

null 5.6k Oct 16, 2021
GoLobby DotEnv is a lightweight package for loading dot env (.env) files into structs for Go projects

DotEnv GoLobby DotEnv is a lightweight package for loading dot env (.env) files into structs for Go projects Documentation Supported Versions It requi

GoLobby 6 Oct 6, 2021
Vendor Go dependencies

nut Gophers love nuts. nut is a tool that allows Go projects to declare dependencies, download dependencies, rewrite import paths and ensure that depe

Owen Ou 239 Jul 13, 2021
Spaghetti: a dependency analysis tool for Go packages

Spaghetti is an interactive web-based tool to help you understand the dependencies of a Go program, and to explore and evaluate various possible efforts to eliminate dependencies.

Alan Donovan 645 Oct 17, 2021
Fetch license information for all direct and indirect dependencies of your Golang project

gocomply beta Give open source Golang developers the credit they deserve, follow your legal obligations, and save time with gocomply. This tiny little

Tawesoft 14 Apr 22, 2021