WebStorm-Gulp-Sass. Как настроить проект для совместной работы под Windows и OS X?
Проект лежит на Dropbox.
Рабочая IDE - WebStorm с настроенной сборкой проекта через Gulp (gulpfile.js).
Gulp-sass, gulp-watch, browser-sync и прочая установлены как локальные пэкиджы Node.js из-под WebStorm.
Все установлено и настроено на компе с Windows 10, все отлично работает, локальный проект с автосинхронизацией на Dropbox.
Хочу организовать второе рабочее место с этим проектом, но с MacBook на OS X.
Но поскольку пэкиджи Node.js локальные (т.е. хранятся в папке проекта и синхронизируются с Dropbox) и реализация пэкиджей в зависимости от ОС отличается (например в модуле gulp-sass), то не получается собирать проект как на Windows - сыпятся ошибки в пэкиджах.
Можно ли что-нибудь придумать? Глобальная установка пэкиджей не помогла, да и в описаниях сказано, что именно локально на проект ставить нужно.
Wernalur: Ну, например, я могу находится в разных местах - дома работать над проектом на стационарном компе с Windows 10, или работать на MacBook на выезде.
Sharamoff: Если мне не изменяет память, то все необходимые для сборки пакеты можно подцепить из package.json и установить всего одной командой npm install. Синхронизируйте код и будет вам счастье.
Еще лучше использовать git, а не dropbox. Нужно поработать на выезде? Пожалуйста. Тяните сорцы из гита, npm install и вперёд.
Wernalur: Да с package.json считать то не проблема. Тут проблема то в том, что рекомендуется устанавливать пакеты локально в папку проекта, а не глобально (оно и понятно, для другого проекта мне может и не нужно 20 пакетов тащить). А сами пакеты под разные операционки отличаются.
Пробовал и глобально, конечно, ставить. Но там другие проблемы вылазят, с sudo под macos, с кэшем node - в общем так и не удалось запустить.
Sharamoff: В этом вопросе между git и dropbox разницы особой нет. Можете делать то же самое и с dropbox, только вот зачем, если есть git?
Моя мысль в том, что пакеты синхронизировать не нужно. Синхронизируйте код, выполняйте npm install, чтобы скачать и установить пакеты локально и проблема решена. Посмотрите opensource проекты на node.js, синхронизацией пакетов никто не занимается. Везде подразумевается, что локальную установку вы произведете сами.
Не знаю, считается ли это ответом на ваш вопрос, может кто-то ответит что-то более умное, но мне кажется, что ваша проблема в самой организации разработки с разных устройств.