как использовать «update-alternatives» для управления несколькими установленными версиями одного и того же приложения

как использовать «update-alternatives» для управления несколькими установленными версиями одного и того же приложения

Я часто сталкиваюсь с проблемами, связанными с путями, при компиляции или запуске приложения. У меня есть две версииузелв моей системе один из официального репозитория, другой установлен вручную из исходников. Сегодня я хотел скомпилироватькронштейны, когда я запустил npm installего, он попросил меня использовать более позднюю версию, например 1.4.20. Версия по умолчанию, /usr/bin/npmкоторая не работает. Установленная вручную версия находится в/usr/local/bin/npm

Есть ли способ сделать /usr/local/bin/npmпуть по умолчанию с помощью update-alternativesили другого метода?

Например, вы можете установить текстовый редактор по умолчанию с помощью

    sudo update-alternatives --config editor

решение1

Я нашел, как это сделать. Сначала я проверил путь по умолчанию, npmкоторый является более старой версией (1.3.10) в /usr/bin/npm, я заметил, что это символическая ссылка на /usr/share/npm/bin/npm-cli.jsЯ удалил ее

    sudo unlink /usr/bin/npm

Затем я попробовал следующую команду

   sudo update-alternatives --install /usr/bin/npm  npm /usr/local/bin/npm 10
   sudo update-alternatives --install /usr/bin/npm  npm /usr/share/npm/bin/npm-cli.js 20

Теперь я могу легко переключаться между ними, используя

  sudo update-alternatives --config npm      

Это работает хорошо

решение2

Поскольку вы упомянулиузел, я подумал, что могу отметить, что это хорошая возможность использоватьN-менеджер установки для NodeJS. Если у меня есть менеджер пакетов «более высокого уровня», как этот, я обычно использую его.обновление-альтернативы. Это, как правило, менее сложно, чем пытаться отследить важные файлы самостоятельно, ИМХО. Тем не менее, я думаю,обновление-альтернативывсе равно будет работать.

Связанный контент