ふぃーるどのーつ

技術系ブログ「ふぃーるどのーつ」

WindowsのPowerShell環境でSDKMAN(posh-gvm)を動かす(2019年版)

SDKMAN(以前のgvm)のWindows/PowerShell向けの移植としてposh-gvmがあります。

しかし、Activeにメンテナンスされていないため、現時点(2019/4)では、posh-gvmのImport時に以下のようなエラーが出て動作しません。

PS > Import-Module posh-gvm
Import-Module : This command is not available in offline mode.
発生場所 行:1 文字:1
+ Import-Module posh-gvm
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (This command is...n offline mode.:String) [Import-Module], RuntimeException
    + FullyQualifiedErrorId : This command is not available in offline mode.,Microsoft.PowerShell.Commands.ImportModuleCommand

SDKMANのAPIが新しくなっているためなので、このプルリクエスト を取り込んでやればいいのですが、インストーラーがGitHubのレポジトリーのURLに依存しているため、その部分を反映してfolkしました。

github.com

PowerShellワンライナーでインストールして、Import-Module posh-gvmするとgvmコマンドが使えるようになります。コード例ではZuluの12.0.1をインストールしています。

(new-object Net.WebClient).DownloadString('https://raw.githubusercontent.com/azusa/posh-gvm/master/GetPoshGvm.ps1') | iex
Import-Module posh-gvm
gvm install java 12.0.1-zulu

f:id:setoazusa:20190419102723p:plain

コマンドがgvmのままなので、Goのパッケージマネージャーと被るのが気になるのですが、気が向いたら直すかもしれません。

PowerShell環境上でposh-gvmを動かす方法についてでした。