2

Cakebuild.net から提供される標準の build.ps1 PowerShell スクリプトを使用します。

CI と開発者の両方のマシンでうまく機能しましたが、開発者の 1 人については、build.ps1 の起動時に次のエラーが発生しました。

Unable to find package 'Cake'

そして終了し、Cake がインストールされていないツール フォルダを確認します。

4

1 に答える 1

6

発生しているエラーは、NuGet コンソールがマシン上で構成されたフィードの中から Cake パッケージを見つけられないために発生します。

build.psの次の行を変更することで、この理論をテストできます。

$NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`""

$NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`" -Source `"https://www.nuget.org/api/v2`""

それが機能する場合は、同僚のマシンに標準の nuget.org フィードがないか、彼のマシンで無効になっている可能性があります。

このように NuGet コンソールを使用して、構成したソースを一覧表示できます (パスに nuget コンソールがない場合は、リポジトリ ツール フォルダーで利用できるはずです) 。

nuget sources list

次に、nuget.org の v2 および/または v3 フィードを一覧表示[Enabled]し、以下のようにそれらの後にテキストを含める必要があります。

Registered Sources:

  1.  https://www.nuget.org/api/v2/ [Enabled]
      https://www.nuget.org/api/v2/
  2.  https://api.nuget.org/v3/index.json [Enabled]
      https://api.nuget.org/v3/index.json

それらがリストされているが無効になっている場合は、入力して有効にすることができます

nuget source enable -Name https://www.nuget.org/api/v2/

または

nuget source enable -Name  https://api.nuget.org/v3/index.json

登録して無効にしたフィードに応じて、ソースが見つからない場合は、入力して追加できます

nuget sources add -Name https://www.nuget.org/api/v2/ -Source  https://www.nuget.org/api/v2/

設定はに保存される%AppData%\NuGet\NuGet.configため、そのファイルを手動で編集できます。チーム内の全員が同じソースを使用していることを確認するNuGet.configには、nuget がパスで構成を見つけようとしてアプリ データにフォールバックするときに、リポジトリのルートに を追加できます。

于 2016-08-05T15:09:26.277 に答える