
好的,所以我透過使用cinst nodejs
Which installs NodeJS into Chocolatey bin 目錄並依賴 NPM 來安裝 NodeJS。
然後我意識到我想安裝 NodeJS.Install,而是使用依賴 NPM 的主 NodeJS 安裝將 NodeJS 安裝到我的 ProgramFiles 目錄中。
我的問題:
現在兩者都已安裝。當我運行節點或 NPM 命令時將使用哪一個,如果cuninst nodejs
不起作用,如何從 Chocolatey bin 卸載 NodeJS ?
答案1
安裝的 Nodejs 版本附帶了 npm,因此您不需要它。然而,刪除 nodejs 套件是不夠的,因為它是指向 或*.install
套件的元包*.commandline
。
請執行以下操作:
- 確保您使用的是最新版本的 choco(0.9.9.x 系列)
choco uninstall npm -dvyaf
choco uninstall nodejs.commandline -dvyaf
這將刪除 npm 的所有版本並刪除路徑上的 bin 檔案(shim 重定向)。
如果您已經完成了其中一些操作,只需進入目錄並刪除以和%ChocolateyInstall%\lib
開頭的資料夾。npm
nodejs.commandline
答案2
好吧,所以我做了一些實驗,結果發現cuninst nodejs
並沒有完成工作,因為 NodeJS 需要套件本身中有一個 ChocolateyUninstall.ps1,而目前許多可用的套件都沒有。
所以如果我運行命令:
巧克力清單-僅限本地
我回來了:
捲曲7.28.1
…… nodejs.commandline 0.10.35nodejs.install
0.10.35npm 1.4.9
我想要刪除的項目是nodejs 0.10.35
因為這是巧克力箱安裝。我想保留其他人。所以我只是使用當我列出我的包裹時看到的名稱nodejs 0.10.35
,或者換句話說:
C:\Windows\System32> cuinst Nodejs 0.10.35
現在當我跑步時:
巧克力清單-僅限本地
我回來了:
捲曲7.28.1
…… nodejs 0.10.35nodejs.commandline 0.10.35nodejs.install
0.10.35npm 1.4.9
現在我第一次設定的附加版本已經消失了。它從未設定過 2 個版本的 NPM,因為它是一個依賴項,當我第二次設定 NodeJS.Install 時就已經存在了。另外,當我安裝了兩者時,它默認使用巧克力/垃圾箱由於某種原因的版本,而不是程式檔案版本。我覺得很奇怪。
如果我所說的任何內容似乎有誤,請隨時回答這個問題。我不是 Chocolatey 的高級用戶,所以,如果您知道我的答案在某種程度上是錯誤的,我會檢查您的答案,如果它確實糾正了我的答案,則將其標記為正確