Я сам столкнулся с этой проблемой месяц назад. Я также не мог понять, почему версия Ubuntu, которая все еще активно поддерживается, включает версии Node и npm, которые не поддерживаются. В конце концов я понял, что наряду с желанием установить несколько версий одновременно (например,LTS на самом деле не указывает одну версию — v16 является «Активной LTS», а v14 и v12 в настоящее время являются «Maintenance LTS», а v16 поставляется с версией npm, которая использует другую версию lockfileVersion, чем будет использоваться теми, кто установил LTS Node более чем несколько недель назад). Мне было удобнее устанавливать тысячи зависимостей с помощью npm, у которого не было привилегий суперпользователя.
Поскольку вы чувствовали, что просмотрели всю сеть, прежде чем прийти сюда, вы, вероятно, нашли страницу загрузки Node, также упомянутую в комментариях, но (как и я) не хотели ни вручную проверять наличие обновлений безопасности, ни продолжать использовать небезопасной версии после их выпуска. Node документирует, как это сделать на странице, упомянутой в нижней части страницы загрузок. Вы могли или не могли найти инструкции по установке нпм, которые частично противоречат инструкциям Node, несмотря на то, что использовать одно без другого сложно.
Если вам нравятся снэпы то вы можете использовать их. Поскольку это был единственный вариант, указанный специально для Ubuntu, я начал с него, но мне не нравится, как снапы устанавливаются как отдельные монтирования и загромождают мой вывод df. Я думаю, что сдался, когда мне нужно было сравнить разные версии, и снова порекомендовали nvm.
н
это также упоминается на странице менеджеров пакетов но мне не нравилась необходимость устанавливать другую версию npm, чтобы установить диспетчер версий, который установил бы ту, которую я хотел.
Как было рекомендовано в другом ответе, я в конце концов использовал НВМ
. Он загружает и выбирает между различными версиями узла для вас, а также имеет возможность обновить npm до более новой версии, чем поставляется с Node. Он знает, какие версии LTS существуют, и позволяет различать их по кодовому имени или номеру версии. Однако это сценарий оболочки, который усложнит задачу, если вы используете не-POSIX-оболочку. У него нет пакетов Ubuntu или Debian, но есть инструкции для git установить что облегчает обновление.
Вы жаловались, что подходящий
версия Node по-прежнему устанавливается при использовании н
. Это может быть проблемой, если вы устанавливаете что-то еще, используя apt, который зависит от Node/npm, который может найти «системную версию», а не более новую, установленную с помощью н
. Исходя из мира Python, поэтому я никогда не устанавливал точка
с использованием подходящий
: Я бы создал виртуальные среды и использовал pip из них. Если я когда-нибудь попытаюсь пип установить
что-то за пределами виртуальной среды, тогда это не работает, потому что нет системы точка
для установки с. я использую подходящий
установить разные версии Python и получить от них pip.