Разная версия узла для разных проектов, есть ли способ сообщить узлу, какую версию использовать?

У меня довольно распространенная (я думаю) проблема. Многие из моих проектов используют nodejs, некоторые для бизнес-логики, другие только для некоторых строительных задач.

Мне нужно иметь разные среды выполнения в разных проектах, одно из моих электронных приложений требует узла 7.10.0, типичный комплект сборки требует узла 8.x.

Теперь я знаю - я могу использовать sudo n 7.10.0 или же sudo n latest переключить время выполнения глобально на моем компьютере (для тех, кто этого не знает - взгляните на "n")

Во всяком случае, IMO это не так удобно (иногда мне нужно перестраивать все модули после переключения версий, часто я забываю переключаться и так далее). Есть ли способ указать узлу, какой интерпретатор использовать? Могу ли я использовать .npmrc файл в каталоге проекта, чтобы вызвать конкретную версию nodejs в этом подкаталоге?

Я искал именно это (версия узла npmrc), но мне не повезло найти что-то.

4 ответа

Решение

Хорошо, я нашел похожий вопрос:

Автоматически переключаться на правильную версию Node в зависимости от проекта

кажется, вы можете установить "AVN" и использовать .node-version файл, чтобы сделать именно это.

sudo npm install -g avn avn-n
avn setup

затем вы можете создать файл.node-version в вашем проекте и ввести нужную версию

echo 7.10.0 > .node-version

Тогда avn обнаружит это и активирует правильную версию

К сожалению, я получаю дополнительную ошибку прав доступа. Поэтому, чтобы это работало, вам нужно установить / настроить "n" для работы без sudo / root.

Если вас устраивает другой инструмент, вы можете использовать nvshim.

pip install nvshim  # this is all you need to do

Это не замедляет запуск вашей оболочки или переключение каталогов, вместо этого перемещает поиск версии узла, когда вы вызываете node, npm или же npxпутем установки этих двоичных файлов. Подробнее в документах.

Источник, я написал инструмент.

NVM (диспетчер версий узла) позволяет нам довольно легко использовать разные версии узла на одном компьютере. Вы можете посмотреть на здесь , как настроить и использовать его.

Volta может использоваться для управления несколькими версиями nodejs, npm или yarn в разных проектах на одном компьютере. Это кроссплатформенный.

Например, вы можете запуститьvolta pin node@14в каталоге проекта, и это установит node в v14, если он существует, в противном случае он загрузит, а затем установит его.

Больше информации здесь https://docs.volta.sh/guide/

Другие вопросы по тегам