私はGit Credential Manager Core(GCM)をdotnet global tool使ってインストールしているのですが、nugetサイトが一向に更新されなくて困ってました。どうも署名を付けたパッケージをnugetへ発行できない状態のままずるずると引きずっています。
何が困るかといえば、現在nuget.orgに公開されているGCM 2.4.1って .NET 7
に依存していて、.NET 7ランタイムを別途OSに追加しなくてはいけません(self-containedじゃない)。現時点では .NET 7はEOLなのでちょっと困る。
ということで、めんどくさいですが
dotnet tool uninstall -g git-credential-manager
まず消します。
$latestRelease = Invoke-WebRequest https://github.com/git-ecosystem/git-credential-manager/releases/latest -Headers @{"Accept"="application/json"} -UseBasicParsing $json = $latestRelease.content | ConvertFrom-Json $latestVersion = $json.tag_name $outputFolder = [environment]::GetFolderPath('UserProfile') | Join-Path -ChildPath 'Downloads' | Join-Path -ChildPath 'gcm' new-item -ItemType Directory -Path $outputFolder -Force $outputPath = Join-Path $outputFolder -ChildPath 'gcm-credential-manager.nupkg' $gcmversion = $latestVersion.substring(1) $url = "https://github.com/git-ecosystem/git-credential-manager/releases/download/v$gcmversion/git-credential-manager.$gcmversion.nupkg" Invoke-WebRequest $url -OutFile $outputPath -UseBasicParsing
その時点のGit Credential Managerの最新版をダウンロードします。
dotnet tool install -g --add-source $outputFolder git-credential-manager remove-item $outputFolder -force
最新版をローカルソースからインストールして、削除します。こんなことしなくてもnuget.orgからインストールできるようになりますように。