LoginSignup
0
0

More than 3 years have passed since last update.

NuGetパッケージをGitHubPackagesにPushしようとして404が返ってくる場合の対処

Last updated at Posted at 2021-01-05

実現したいこと

  • C#でNuGetパッケージを作成する。
  • GitHubでコードを管理する。
  • GitHubActionsで、当該リポジトリのGitHubPackagesに配置する。

起きた事象

GitHubActions内にてNuGetパッケージをPushする。

  • 環境変数
    • ${GITHUB_TOKEN} = ${{ secrets.GITHUB_TOKEN }}
    • ${NUGET_SOURCE} = GitHubPackageのURL
      • 例: "https://nuget.pkg.github.com/{organization-name}/index.json"
dotnet nuget push '*.nupkg' -k ${GITHUB_TOKEN} -s ${NUGET_SOURCE} --skip-duplicate

404エラーが返ってくる。

Pushing {package-name}.nupkg to 'https://nuget.pkg.github.com/{organization-name}'...
  PUT https://nuget.pkg.github.com/{organization-name}/
  NotFound https://nuget.pkg.github.com/{organization-name}/ 377ms
error: Response status code does not indicate success: 404 (Not Found).

原因・対処

NuGetパッケージとなるC#プロジェクトの .csproj ファイルを確認します。

  • RepositoryUrl
    • このURLがGitHubのリポジトリURLと一致していない場合、404エラーが返ってきます。
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
    ...
    <RepositoryUrl>https://github.com/{organization-name}/{repository-name}</RepositoryUrl>
    ...
  </PropertyGroup>

  <ItemGroup>
    ...
  </ItemGroup>
</Project>

備考

個人リポジトリでもOrganizationsリポジトリでも同様と思われます。
また、今回はGitHubActionsでのエラーでしたが、ローカルからCLIでPushしようとしても同様にエラーになります。

NuGetパッケージを作成する場合は、PropertyGroupをきちんと記述したほうがいいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0