日: 2021年4月23日

  • 【解決法】go1.16でビルドエラー「no required module provides package github.com」が発生する場合

    【解決法】go1.16でビルドエラー「no required module provides package github.com」が発生する場合

    go1.16 で golang を書いて build すると、タイトル通りのエラーが表示された。

    調べてみると go 1.15 までは go buildgo test などのコマンドを実行すると、 go.modgo.sum の内容をよしなに更新されていたが、go 1.16 からは自動では更新されなくなったようだ。

    これを解決するには

    $ go mod tidy

    とすることで、go のモジュールに書かれている不足分のパッケージを go.mod に書き込んでくれる

    % go build -o hoge.go
    main.go:7:2: no required module provides package github.com/hackebrot/turtle; to add it:
            go get github.com/hackebrot/turtle
    
    
    % go mod tidy
    go: finding module for package github.com/hackebrot/turtle
    go: downloading github.com/hackebrot/turtle v0.1.0
    go: found github.com/hackebrot/turtle in github.com/hackebrot/turtle v0.1.0
    go: finding module for package github.com/hackebrot/go-repr/repr
    go: finding module for package github.com/google/go-cmp/cmp
    go: downloading github.com/google/go-cmp v0.5.5
    go: downloading github.com/hackebrot/go-repr v0.1.0
    go: found github.com/google/go-cmp/cmp in github.com/google/go-cmp v0.5.5
    go: found github.com/hackebrot/go-repr/repr in github.com/hackebrot/go-repr v0.1.0
    
    % go build -o hoge.go
    

    参考情報

    https://golang.org/ref/mod#go-mod-tidy

  • bashで入力の冗長を減らす

    bashで入力の冗長を減らす

    何かと bash/zsh で作業していると、直近の引数を再度入力したくなることがある。
    たとえば、ディレクトリを作って、その中に移動する場合などだ。

    実は bash や zsh には直前の引数を再度入力する特殊変数が存在する。

    % pwd   
    /tmp

    この /tmp ディレクトリから新規ディレクトリを作成し、そこに移動する場合、
    このように表現することで移動することができる。

    % mkdir hoge; cd $_ 
    % pwd
    /tmp/hoge

    $_ という変数が特殊変数という扱いになり、直前の引数を再度入力することができる。

  • fargate platform 1.4 で service を起動できない

    fargate platform 1.4 で service を起動できない

    今まで fargate で service を動かせていたが、platform 1.4 では動かせないことがあった。その対処法を紹介。

    pseudoTerminal option があるが、falase だと起動した後に停止してしまう。解決策としては、

    pseudoTerminal を false から true にすること。

    そもそも pseudoTerminal とは擬似ターミナル。

    Docker Remote API の コンテナを作成する際、セッションの TTy にマッピングして docker run にマッピングするオプション。

    1.3 まではこの設定が false でも動かすことができたが、1.4 ではこれを true にしないと動かすことができないようだ。