「nuget」は認識されませんが、他のnugetコマンドは機能します


112

http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#From_a_convention_based_working_directory を参照として使用して、nugetパッケージを作成しようとしています。Visual Studioのパッケージマネージャーコンソールで 'nuget'コマンドを使用できません。「Get-help nuguet」を実行すると、次のように表示されます。

次のNuGetコマンドレットが含まれています。

    Cmdlet                  Description
    ------------------      ----------------------------------------------
    Get-Package             Gets the set of packages available from the package source.

    Install-Package         Installs a package and its dependencies into the project.

    Uninstall-Package       Uninstalls a package. If other packages depend on this package, 
                            the command will fail unless the –Force option is specified.

    Update-Package          Updates a package and its dependencies to a newer version.

    Add-BindingRedirect     Examines all assemblies within the output path for a project
                            and adds binding redirects to the application (or web) 
                            configuration file where necessary.

    Get-Project             Returns a reference to the DTE (Development Tools Environment) 
                            for the specified project. If none is specifed, returns the 
                            default project selected in the Package Manager Console.

    Open-PackagePage        Open the browser pointing to ProjectUrl, LicenseUrl or 
                            ReportAbuseUrl of the specified package.

    Register-TabExpansion   Registers a tab expansion for the parameters of a command.
  • ただし、nugetを使用してコマンドを開始すると、次のようになります。

「nuget」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認して、もう一度試してください。

1行目:char:6 + nuget <<<< + CategoryInfo:ObjectNotFound:(nuget:String)[]、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

私は次の解決策を試しました:

1>すべてのアイテムを閉じて再起動する

2>アンインストールと再インストール

3> PowerShellプロファイルファイルを作成する(これは以前には存在していなかったため、実際にはすべてが壊れていました)

Visual Studio 2012 Ultimate試用版を登録済みにアップグレードした後、問題が発生し始めました。最初はVS 12 Proをインストールしていました。それが本当にそれと関係があるかどうかはわかりませんが、同様の問題を抱えている他の人がvs 10と12をインストールしていることに気付きました。

私の質問は、「誰か他に何を試すべきか知っていますか?」私の理論では、nugetコマンドへのパスが欠落しているが、パッケージマネージャーコンソールが使用するパスを構成する方法が見つからず、コマンドレットnugetが実際にどこに保存されているのかわかりません。

更新---以下のようにコマンドラインツールのダウンロードを試みました。これは何も再び働くことにつながりません。アンインストールを試みましたが、vs2010の拡張機能で、インストールボタンまたはアンインストールボタンが有効になっていないnugetのアイテムがあります。これは私が2010年と2012年にインストールされた拡張機能に関係していると私を信じさせてくれます。それは私の小さなドラマの一部です。誰もがアンインストール可能な拡張機能を核にする方法を知っている場合は、アドバイスもお願いしますが、そのために別の質問を試みます。


1
UACを有効にしていて、拡張機能をアンインストールするために管理者としてVisual Studioを実行してみましたか?
Betty

Install-Package NuGet.CommandLineが正解です。
ライブラブ

OPがパッケージをインストールするのではなく、パッケージを作成しようとする@ live-love
Nick Turner

回答:


20

システム変数のパスをnuget exeの場所に設定して、VSを再起動することもできます。

  1. お使いのシステムの開きPATH変数を、あなたnuget.exeの場所を追加(私にとっては、これは次のとおりです。C:\Program Files (x86)\NuGet\Visual Studio 2013
  2. Visual Studioを再起動します。

私はあなたの回答 @done_merson へのコメントとしてこれを投稿しましたが、それを行うために必要な評判がありませんでした。


151

Nuget.exeは.nugetプロジェクトのフォルダーに配置されます。パッケージマネージャーコンソールで直接実行することはできませんが、Powershellコマンドによって実行されます。これらのコマンドは、独自のカスタムパスを構築するためです。

解決するための私のステップは次のとおりです。


更新

NuGetは、次のコマンドを使用してプロジェクトに簡単にインストールできます。

インストールパッケージNuGet.CommandLine


「変数名」には何を入力すればよいですか?
Ievgen Naida、2014

1
nuget.exeを、nugetコマンドを実行しているドライブと同じドライブに配置する必要がありました(それに応じてPATH環境変数の値を調整しました)
mediafreakch

PATH環境変数を確認するには、[コントロールパネル]> [システム]> [システムの詳細設定]に移動し、[システムのプロパティ]ウィンドウで[詳細]タブをクリックすると、[環境変数...]ボタンが表示されます。[システム変数]グループで、PATH環境変数を見つけます。次に、セミコロン(;)で区切って別のパスを追加します。
Jerameel Resco、2015

1
いくつかのバグがあるに違いありません...私は取得しますPackage 'NuGet.CommandLine.3.3.0' already exists in project 'TimeLoop'が、NuGetを作成すると、コマンドが存在しないというエラーが表示されます。
Peter

23
Install-Package NuGet.CommandLine1. NuGet.CommandLine依存関係としてプロジェクトに追加されます(ew!)、および2.プロジェクトごとに個別に実行する必要があります。 npm「グローバルインストール」オプションがあります-NuGetには同様のものがありません!?
BlueRaja-Danny Pflughoeft

60

それを行うにはもっと良い方法があります。

  1. パックするプロジェクトにNuget.Buildパッケージをインストールします。インストール後にソリューションを閉じて再度開く必要がある場合があります。
  2. Chocolatey経由でnugetをインストールします-ずっと良いです。chocolatey:https : //chocolatey.org/をインストールして実行します

    cinst Nuget.CommandLine

コマンドプロンプトで。これにより、nugetおよびセットアップ環境パスがインストールされるため、nugetは常に使用可能です。


npmを使用してチョコレートをインストールする場合を除いて
Oleg Mihailik '17年

他の答えでうまくいかなかった後、これはすぐにうまくいきました。Chocolateyを使用すると、PATH構成を手動で行う必要が
Sam

47

[Package Manager Console]下記てみてください

Install-Package NuGet.CommandLine

「Install-Package NuGet.CommandLine」の後、nuget.exeをPMで実行できます。
BinSys 14

13
実行:「実行」という用語は、コマンドレット、関数、スクリプトファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれていた場合は、パスが正しいことを確認して、再試行してください。VS2015
rob

@robと同じ問題が発生しました。
Grant Birchmeier、2017年

3
「Execute ...」行全体を入力しないでください。ジャストタイプ:Install-Package NuGet.CommandLine
Serjセーガン

なぜああ、なぜMSはすべてを間違っているのですか?彼らが原子力発電所を運営していたら、私たちは皆死んでしまうでしょう!これらの重要なコマンドが利用できず、個別にダウンロードする必要があるのはなぜですか?Microsoftが機会があればいつでもブロートウェアを簡単にインストールできるため、ドライブスペースを節約することは明らかではありません。
ATL_DEV


12
  • ソリューションエクスプローラーでプロジェクトを右クリックします。
  • [ ソリューションのNuGetパッケージの管理]を選択ます。
  • MicrosoftがNuGet.CommandLineを検索してインストールします。 Nuget.CommandLineを検索
  • インストールが完了すると、プロジェクト内にpackagesという名前のフォルダーが見つかります。ソリューションエクスプローラーに移動して探します。 パッケージ
  • パッケージ内でNuGet.CommandLine.3.5.0という名前のフォルダーを探します。ここで3.5.0はバージョン名です。フォルダー名はそれに応じて変更されます。 nuGetコマンドライン
  • NuGet.CommandLine.3.5.0内でtoolsという名前のフォルダーを探しますツール
  • ツール内で、nuget.exeを取得します nuget.exe

例外が発生しました。(HRESULTからの例外:0x80020009(DISP_E_EXCEPTION))
AgentFire

11

Visual Studioの場合:

Tools -> Nuget Package Manager -> Package Manager Console.

午後:

Install-Package NuGet.CommandLine

Visual Studioを閉じて、再度開きます。


7

私はnuget.exeを見つけて入力しやすいパス(c:\ nuget \ nuget)に移動し、このパスを使用してnugetを呼び出すことで、これを回避しました。これで問題は解決したようです。パッケージマネージャーコンソールのc:\ nuget \ nugetは期待どおりに動作します。コンソールが使用しているパスを見つけて環境パスを変更しようとしましたが、そのように機能させることができませんでした。


1
これは受け入れられる答えになるはずです。これほど複雑ではありません。
フロリアン冬

2019年11月の更新-nuget.exeは、(Powershellまたはcmdコンソールのいずれか、またはVSのNuget Package Manager Consoleを介して)Nugetコマンドラインツールに必要な.exeです-docs.microsoft.com/en-us/nuget/を参照してください参照/…。お持ちでない場合は、こちらから入手してください-nuget.org/downloads
Chris Halcrow

4

nuget.exeから取得しhttps://www.nuget.org/downloadsます。それをローカルフォルダーにコピーし、そのフォルダーをPATH環境変数に追加します。

これにより、任意のプロジェクトからnugetをグローバルに利用できるようになります。


とても簡単です。「c:\ Nuget」を作成してから、環境変数に移動し、パスをダブルクリックして、「新規」をクリックし、「C:\ Nuget」を入力すれば完了です。すべてはビジュアルスタジオです2010。Powershellまたはコマンドラインを使用してください。
Nick Turner
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.