Wakotech Blog

ポエム

go getが失敗する場合の対処(unrecognized import path)

問題

go getコマンドでライブラリをダウンロードする際にエラーが出てしまっていました。その対処法を簡単ですが記します。
前回の記事のように私はIntelliJ IDEAで個別にGo SDKのパスを指定していたため、エラーメッセージが出ているもののIDE上では正常に動作していました。コマンドラインツールを導入する際に気づくことになりました。

$ go get github.com/revel/revel

とすると

package github.com/revel/revel
	imports bufio: unrecognized import path "bufio"
package github.com/revel/revel
	imports bytes: unrecognized import path "bytes"

のようにメッセージが表示されます。あまりエラーメッセージみたいではないように見えてしまうので見逃していましたが、正常な場合はこのようなメッセージが出ずにダウンロード、ビルドまで完了します。

解消

エラーメッセージの意味としてはpathが正しくないということなので、GOROOTを見直します。おそらく正しくないパスとなっていると思います。
(homebrewでgo1.4をインストールした場合は/usr/local/Cellar/go/1.4/libexecが正しいパスとなります。)
ここで修正すれば解消されるのですが、go1.4ではGOROOTを指定しなくても良いとのことなので、修正せずそのままGOROOTを消すことでも解消されます。