Я часто сталкиваюсь с проблемами, связанными с путями, при компиляции или запуске приложения. У меня есть две версииузелв моей системе один из официального репозитория, другой установлен вручную из исходников. Сегодня я хотел скомпилироватькронштейны, когда я запустил 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. Если у меня есть менеджер пакетов «более высокого уровня», как этот, я обычно использую его.обновление-альтернативы. Это, как правило, менее сложно, чем пытаться отследить важные файлы самостоятельно, ИМХО. Тем не менее, я думаю,обновление-альтернативывсе равно будет работать.