У меня уже есть Node.js v0.8.0, работающий в Windows. Могу ли я запустить последний установщик, чтобы обновить его до v0.8.4? Я боюсь, что он сломает существующие сторонние модули на моей машине.
Как обновить node.js в Windows?
Ответ 1
Да, вы просто установите последнюю версию. Как правило, у вас не должно быть проблем с совместимостью, если вы уже используете одну и ту же основную версию (например, Версия 0.8.x). Если вас беспокоят изменения, вы всегда можете проверить журнал изменений для каждой версии (ссылка на журнал изменений находится на странице загрузки node.js в nodejs.org). Это должно сказать вам о любых больших изменениях (например, изменения API и т.д.).
Ответ 2
Для записи я только что прошел процесс, и он безболезнен, даже если вы переходите на другую крупную версию.
Я переместился с 0,8 до 0,10, используя пакет .msi, перезаписав тот, который установлен в моей системе. Проблемы с упаковкой были исправлены с помощью npm update -g
. Работали как шарм.
Если он не работает как шарм:
npm cache clean
обычно устраняет проблему. Как только кеш пуст, просто запустите npm update -g
снова.
Если вы действительно столкнулись с трудностями:
Удалите модули, которые вы установили по всему миру, затем переустановите их. Вот как:
-
Взгляните на то, что у вас есть:
npm list -g --depth=0
перечислены все пакеты верхнего уровня с номерами версий.npm list -g --parseable --depth=0 > npm-global-modules.txt
записывает их в файл на вашем cwd.Любые странные вещи, которые вы не установили самостоятельно, вероятно, были установлены другим модулем (редко, но я видел, как это произошло). Удалите эти модули из списка. Также удалите модуль "npm".
-
В редакторе отформатируйте вывод для командной строки, заменив
\n?[^\n]+[\\/]
(regex) на одно пространство.(Я не получил этого, чтобы работать с
findstr
в канале, следовательно, в оба конца в редактор. сделайте это вручную, конечно;) -
Удалите все модули. В Windows удалите (или переименуйте) каталог
%appdata%\npm
. Для других ОС см. команду для удаления всех модулей npm по всему миру? -
Переустановите модули с помощью
npm install -g [your module list here]
. Не забывайтеnpm cache clean
, прежде чем делать это.
Ответ 3
У меня нет опыта работы с node в Windows, но я только что обновил node и модули на своем Mac, так что это всего лишь общий ответ:
Если вы устанавливаете v0.8, вы можете сломать существующие модули node, если они используют устаревшие функции и т.д. Проблема в том, что npm проверяет только вашу версию node во время установки модулей, а не при запуске -time.
Чтобы быть в безопасности, вам нужно найти глобальную папку node_modules на вашем компьютере, вернуть ее туда, а затем удалить и переустановить модули. Вам нужно будет сделать то же самое для папок node_modules в приложениях, которые вы используете. (Предполагая, что у вас есть файлы package.json, переустановка их должна быть простой.)
На практике я не думаю, что какой-либо из модулей, которые я использовал, на самом деле несовместимы. Удачи.
Ответ 4
Если вы не используете модуль, который полагается на фактическую ошибку, которая присутствовала в 0.8.0 и была исправлена на 0.8.4, вы в порядке. Не было изменений API между этими двумя версиями (и команда node слишком умна, чтобы вводить такие изменения в младший выпуск).
Ответ 5
В настоящее время обновление до 4.4. *. Я просто использовал для установки с сайта nodejs.org, и что обновление все работает нормально.
Ответ 6
Просто перейдите на узел nodejs и загрузите его. Вы можете установить его прямо без каких-либо колебаний. Если у вас есть зависимость от более ранней версии, проверьте журналы изменений.
Ответ 7
Лучший способ установить node на windows - это nvm-windows, поэтому вы можете быстро переключаться между версиями, если вам нужно. Это аналогично наилучшему способу установки node на linux и max, то есть с nvm.
Но Бенджен прав (как он мог не быть со всем своим опытом разведки), что вы можете просто установить другую версию node, и ваша версия будет обновлена. Возможно, вам придется переустановить ваши зависимости в npm, и любые расширения, которые не управляются npm, возможно, придется перекомпилировать, но это будет верно независимо от того, как вы измените версию node.