Goop

Go (golang) 的简单依赖关系管理器,灵感来自 Bundler。「A simple dependency manager for Go (golang), inspired by Bundler.」

Github星跟蹤圖

Goop

Goopie

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 with your GOPATH.

Getting Started

  1. Install Goop: go get github.com/nitrous-io/goop

  2. Create Goopfile. Revision reference (e.g. Git SHA hash) is optional, but recommended. Prefix hash with #. (This is to futureproof the file format.)

    Example:

    github.com/mattn/go-sqlite3
    github.com/gorilla/context #14f550f51af52180c2eefed15e5fd18d63c0a64a
    github.com/dotcloud/docker/pkg/proxy #v1.0.1 // comment
    github.com/gorilla/mux !git@github.com:nitrous-io/mux.git // override repo url
    
  3. Run goop install. This will install packages inside a subdirectory called .vendor and create Goopfile.lock, recording exact versions used for each package and its dependencies. Subsequent goop install runs will ignore Goopfile and install the versions specified in Goopfile.lock. You should check this file in to your source version control. It's a good idea to add .vendor to your version control system's ignore settings (e.g. .gitignore).

  4. Run commands using goop exec (e.g. goop exec make). This will execute your command in an environment that has correct GOPATH and PATH set.

  5. Go commands can be run without the exec keyword (e.g. goop go test).

Other commands

  • Run goop update to ignore an existing Goopfile.lock, and update to latest versions of packages (as specified in Goopfile).

  • Running eval $(goop env) will modify GOPATH and PATH in current shell session, allowing you to run commands without goop exec.

Caveat

Goop currently only supports Git and Mercurial. This should be fine for 99% of the cases, but you are more than welcome to make a pull request that adds support for Subversion and Bazaar.


Work on awesome golang projects, like Goop, at Nitrous.IO

Copyright (c) 2014 Irrational Industries, Inc. d.b.a. Nitrous.IO.
This software is licensed under the MIT License.

主要指標

概覽
名稱與所有者petejkim/goop
主編程語言Go
編程語言Go (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2014-06-18 01:55:24
推送於2015-12-02 00:24:23
最后一次提交2014-10-01 23:34:31
發布數0
用户参与
星數776
關注者數35
派生數45
提交數27
已啟用問題?
問題數28
打開的問題數19
拉請求數2
打開的拉請求數9
關閉的拉請求數7
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?