
さて、私は を使用して NodeJS をインストールしました。cinst nodejs
これは、NPM に依存して NodeJS を Chocolatey の bin ディレクトリにインストールします。
その後、代わりに NodeJS.Install をインストールする必要があることに気付きました。これは、NPM に依存したメインの NodeJS インストールを使用して、ProgramFiles ディレクトリに NodeJS をインストールします。
私の質問:
これで両方がインストールされました。ノードまたは NPM コマンドを実行するときにどちらが使用されるのでしょうかcuninst nodejs
。動作しない場合は、Chocolatey ビンから NodeJS をアンインストールするにはどうすればよいですか?
答え1
*.install
インストールされたバージョンの nodejs には npm が付属しているため、npm は必要ありません。ただし、nodejs パッケージはまたはパッケージのいずれかを指すメタ パッケージであるため、削除するだけでは不十分です*.commandline
。
次の手順に従ってください。
- choco の最新バージョン (0.9.9.x シリーズ) を使用していることを確認してください。
choco uninstall npm -dvyaf
choco uninstall nodejs.commandline -dvyaf
これにより、npm のすべてのバージョンが削除され、パス上にある bin ファイル (shim リダイレクト) が削除されます。次に、nodejs のポータブル バージョン (nodejs.commandline) とすべてのバージョンが削除されます。これらは、ディレクトリを完全にクリーンアップするための強制削除です。
すでにこのうちのいくつかを実行している場合は、ディレクトリに移動して、および%ChocolateyInstall%\lib
で始まるフォルダーを削除します。npm
nodejs.commandline
答え2
さて、いくつか実験してみましたが、結局のところ、cuninst nodejs
NodeJS はパッケージ自体に chocolateyUninstall.ps1 を必要とするため、目的を達成できませんでした。現在利用可能なパッケージの多くには、このパッケージが含まれていません。
したがって、次のコマンドを実行します:
チョコリスト -localonly
返ってきた答え:
curl 7.28.1
...
...
nodejs.commandline 0.10.35
nodejs.install 0.10.35
npm 1.4.9
削除したい項目は、nodejs 0.10.35
Chocolatey bin インストールです。他の項目はそのままにしておきたいので、パッケージをリストしたときに表示される名前を使用します。言い換えると、次のようになりますnodejs 0.10.35
。
C:\Windows\System32> cuninst ノードjs 0.10.35
今実行すると:
チョコリスト -localonly
返ってきた答え:
curl 7.28.1
...
...
nodejs 0.10.35
nodejs.commandline 0.10.35
nodejs.install 0.10.35
npm 1.4.9
最初にセットアップした追加バージョンはなくなりました。NodeJS.Installを2回目にセットアップしたときにすでに存在していた依存関係であったため、NPMの2つのバージョンはセットアップされませんでした。また、両方をインストールしたときは、デフォルトでチョコレート/ビン何らかの理由で、プログラムファイルバージョン。変だと思った。
私の言っていることが間違っていると思われる場合は、遠慮なくこの質問に答えてください。私は Chocolatey のパワーユーザーではないので、私の回答が何らかの点で間違っているとあなたが知っている場合は、あなたの回答をチェックして、それが私の回答を実際に修正している場合は正解としてマークします。