Обновление node.js с помощью NVM для Windows
Я использовал NVM для Windows, чтобы запустить две версии Node в моей системе, последнюю версию и версию LTS. Тем не менее, я не обновлял Node с момента установки NVM. Я хотел бы обновить обе версии до их текущих итераций (11.5.0 и 10.14.2 на момент написания), в идеале без необходимости переустанавливать все мои глобальные пакеты для каждого. Я знаю, что оригинальный NVM имеет эту возможность с --reinstall-packages-from
флаг, но не похоже, что есть что-то похожее в NVM для Windows.
1 ответ
Вы правы, в NVM для Windows нет ничего похожего. Если это будет полезно для вас, вы всегда можете запросить его, открыв вопрос на странице github.
Похоже, вы уже знаете, как установить 11.5.0 и 10.14.2, и как только вы это сделаете, запустите nvm use 11
или же nvm use 10
автоматически выберет последнюю подходящую версию (но вам все равно придется вручную переустанавливать любые глобальные пакеты).
Это может быть возможность подвести итоги глобальных пакетов, они часто вызывают больше проблем, чем они того стоят. (В целом, чем меньше глобальных пакетов установлено, тем лучше.)
Это не поддерживается дизайном
https://github.com/coreybutler/nvm-windows/issues/236
NVM4W предлагает более минималистичный подход, ориентированный на управление версиями узлов, а не управление npm. NVM4W оставляет настройку рабочего процесса конечному пользователю... потому что а) это не сложно, и б) это очень самоуверенно.
Утверждение "В большинстве случаев для переключения версии узла требуется переустановка всех пакетов" является необоснованным. Это не значит, что это неправда, но нет никаких статистических данных, подтверждающих это утверждение. Существует множество случаев, когда это не так, например, разработка оригинальных модулей с прямой / обратной совместимостью.
В-третьих, автоматизация этого процесса, принудительно или по умолчанию, имеет ряд непреднамеренных последствий в среде Windows. См. Пример использования перемещаемых профилей для примера.
Даже если это была необязательная дополнительная команда, она все равно отклоняется от управления версией узла в управление npm. Это совершенно другая проблема (и гораздо большая проблема).