Как использовать "update-альтернативы" для управления несколькими установленными версиями одного и того же приложения
Я часто сталкиваюсь с проблемами, связанными с путями, во время компиляции или запуска приложения. У меня в системе есть две версии узла: одна из официального репо, другая установлена вручную из исходного кода. Сегодня я хотел собрать скобки, когда я бегу npm install
он попросил меня использовать более позднюю версию, такую как 1.4.20. Версия по умолчанию в /usr/bin/npm
который не работал. Вручную установлен в /usr/local/bin/npm
Есть ли способ сделать /usr/local/bin/npm
как путь по умолчанию, используя update-alternatives
или другой метод?
Например, вы можете установить текстовый редактор по умолчанию с
sudo update-alternatives --config editor
2 ответа
Я нашел, как это сделать. Сначала я проверил путь по умолчанию 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
Это работает хорошо
Поскольку вы упомянули узел, я подумал, что могу указать, что это хорошая возможность использовать менеджер установки N для NodeJS. Если у меня есть менеджер пакетов "более высокого уровня", такой как этот, я обычно использую его вместо альтернативных обновлений. Как правило, это менее сложно, чем пытаться самостоятельно отслеживать важные файлы, IMO. Тем не менее, я думаю, что альтернативы обновления все еще будут работать.