
Итак, я установил NodeJS с помощью cinst nodejs
, который устанавливает NodeJS в каталог bin Chocolatey с зависимостью от NPM.
Затем я понял, что вместо этого хочу установить NodeJS.Install, который устанавливает NodeJS в мой каталог ProgramFiles, используя основную установку NodeJS с зависимостью от NPM.
Мой вопрос:
Теперь, когда оба установлены. Какой из них будет использоваться при запуске команды node или NPM и как мне удалить NodeJS из корзины Chocolatey, если cuninst nodejs
он не работает?
решение1
Установленная версия nodejs поставляется с установленным npm, поэтому он вам не нужен. Однако удаление пакета nodejs недостаточно, поскольку это метапакет, который указывает либо на пакеты, либо на *.install
пакеты *.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 nodejs 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
Теперь дополнительная версия, которую я установил в первый раз, исчезла. Она никогда не устанавливала 2 версии NPM, потому что это была зависимость, которая уже существовала, когда я пошел устанавливать NodeJS.Install во второй раз. Также, когда я установил обе версии, она по умолчанию использовалаШоколадный/корзинаверсия по какой-то причине не таПрограммные файлыверсия. Я подумал, что это странно.
Пожалуйста, не стесняйтесь отвечать на этот вопрос, если что-то из того, что я говорю, кажется вам неверным. Я не продвинутый пользователь, когда дело касается Chocolatey, поэтому, если вы точно знаете, что мой ответ неверен в той или иной степени, я проверю ваш ответ и отмечу его как правильный, если он действительно исправит мой ответ.