Как работать с node_modules на mac и windows одновременно?
Привет.
Слушайте, а реально работать над одними и теми же файлами в проекте, но под разными платформами? Я работал всегда за маком, но приобрел себе пк и хочу здесь тоже настроить окружение. И, само собой, нода заругалась, что некоторые модули в проекте были засетаплены в другой среде.
Правильно я понимаю, что только гит с исходниками и никаких общих файлов из node_modules между платформами?
А гит тут причем?) Иницируй проект на ПК npm install. Нода подкачает исходники под текущую платформу.
В любом случае на свой страх будешь работать, потому что лучше всего делать проект там, где будет крутиться в проде. С другой стороны, нода довольно кросплатформенная вещь, и модули у нее популярные есть с хорошей кросплатформой, но никто кроме твоего многолетнего опыта за это не ответит. Дерзай и отпиши сюда через год с выложенным package.json
Видимо автор использует гит как основной реп проекта, а работать хочет за разными компами. Если это так, то пусть настроит гитигнор так, чтобы на гит лились только сорцы. чтото типа
# NodeJS specific #
.nyc_output/
coverage/
node_modules/
npm-debug.log
package-lock.json
test/*.log
ну а затем перед началом работы на любой машине забирает локально из гит изменения, затем npm install и работает, по завершению работы сливает наработки на гит
McBernar, можно извратиться и сделать так чтобы у вас исходники были в дропбоксе, а нодмодули - локально на каждом компе свои. первая идея которая приходит в голову - это сделать на каждом компе свой проект в котором src/ залинковать на дропбокс
Robur, да, с ярлычками хорошо бы попробовать. В любом случае можно сделать это через resillo и указать какие папки синхронизировать вообще. В Megasync так можно.
Без git (или другой vsc) нормально поработать с нескольких машин не выйдет
А так, кидаем node_modules, dist и прочие генерируемые и env-зависимые файлы и папки в .gitignore и прекрасно можно работать с любого количества машин с любыми ОС.
Я сам так работаю: Win10+WSL дома, osX на макбуке - походный вариант для работы из кафе/из такси, LMDE в офисе. И никаких проблем нет, если технология кросплатформенная, каковой нода и является.
P.S. как можно работать без git? а откатится как если что? а фичи по веткам раскидать, чтоб при необходимости хотфикса прод не сломался?
Нереально, часть модулей собирается конкретно под платформу.
В git будет то, что укажете (лишнее в .gitignore), зависимости (а так же логи, настройки, билд и аплоады) в гит конечно же не кладут, зачем там эта вавилонская библиотека, если она легко восстанавливается по одному файлику package.json.