関連記事
Goメモ-107 (go getで参照しているパッケージを一括更新) - いろいろ備忘録日記
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。忘れないうちにメモメモ。。。
個人的に、以下のTaskというツールをよく使っていまして
Goで作られたツールなので、いつも go install で入れてます。
で、アップデートするためには、再度 go install する必要があるのですが、パッケージ名とかを覚えているわけないので、毎回上のサイトいってコマンドラインをコピーして使っていました。
いちいち、それも面倒なので一発でできないかなーって情報探していたら、参考情報の記事に到着。なるほど、go version -m
で調べれば分かるんですね。
下記の参考情報の記事の方は、$(go env GOPATH)/bin
全部を一括でアップデートする方法を記載されています。
私の場合は、特定のツールで良いので以下のようにして使っています。
$ go version -m $(command -v アップデートしたいやつ) | grep -F 'path' | xargs echo | cut -d ' ' -f 2 | xargs -i -t go install $(printf "%s@latest\n" {})
途中の xargs echo
は、連続する空白を除去したいためです。
試してみる
今のTaskのバージョンを表示してみます。
$ task --version Task version: v3.26.0 (h1:NfYktTh/XXJUFtUFdle+BZFtvGlmhk4Q7YfoeOBLPlE=)
v3.26.0 ですね。最新版は、v3.27.1 です。
んで、おもむろに上記のコマンドを実行
$ go version -m $(command -v task) | grep -F 'path' | xargs echo | cut -d ' ' -f 2 | xargs -i -t go install $(printf "%s@latest\n" {}) go install github.com/go-task/task/v3/cmd/task@latest $ task --version Task version: v3.27.1 (h1:cftsoOqUo7/pCdtO7fDa4HreXKDvbrRhfhhha8bH9xc=)
おけ。ちゃんと最新版になりましたね。
参考情報
勉強になりました。ありがとうございます。m( )m
Goのおすすめ書籍
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。