У меня есть проект узла, который я запускаю локально и развертываю на сервере CentOS. У меня есть несколько зависимостей, одна из которых основана на скомпилированной зависимости.
Используя npm, я могу скомпилировать зависимость локально, используя npm install, и она будет отлично работать. Однако это не скомпилировано для сервера развертывания, поэтому оно сломается, если оно будет загружено.
Я могу скомпилировать зависимость от блока CentOS, и он будет работать на сервере, но он сломается в локальной среде.
Может кто-нибудь придумать обходной путь, чтобы я мог заставить узел использовать глобальные зависимости в локальной среде и локальные зависимости на сервере?
Спасибо!
Обновление:
Я нашел способ сделать это сейчас, это не элегантно, но работает:
- запустить установку npm в моей локальной среде
- переименуйте папку node_modules в node_modules_local
- запустить npm install на сервере
- добавить переменную ко всем
require()
путям
- установить для локальной переменной среды значение "development"
- проверьте, находимся ли мы в режиме разработки, если мы находимся, установите для переменной require path значение
./node_modules_local
.