169 похожих чатов

Добрый вечер кто-то пользуется на проектах yarn? для сборок nodejs

и установки пакетов для ноды

20 ответов

28 просмотров
Stefan- Автор вопроса

у меня просто проблема, как бы делать реюз толстой папки node_modules а то это ужас, тупят билды знатно запилил на гитлабе кеширование в с3, но всё равно не супер уж быстро слишком много файлов генерит после yarn install еще и не могут отказаться от установки dev dependencies чтоб прод сбилдать нужно ставить все дев зависимости, если установить только прод зависимости то ниче не сбилдится😄

Stefan- Автор вопроса
George Gaál
переходи на pnpm

пробовал тестить сегодня всё поначалу шло неплохо, НО по неведомой мне причине он для дев депенденси стал просить новые модули которых ранее не было в package.json потому плюнул, без разрабов манал красноглазить)

Stefan
у меня просто проблема, как бы делать реюз толстой...

ну мы банально отдельным слоем это ставим и кеширование на уровне образа работает То есть COPY ./yarn.lock ./ COPY ./package.json ./ RUN yarn install ... Это в кеше первых слоев. yarn.lock/package.json меняются только когда зависимости меняются. А это не так часто. Сорян что очевидные вещи говорю. Но у нас там не рокет сайнс

Stefan
у меня просто проблема, как бы делать реюз толстой...

> еще и не могут отказаться от установки dev dependencies На фронте это просто решается. Ставим зависимости, собираем проект. В образ копируем только результат сборки. На бэке nodejs dev зависиомсти не нужны, а если зачем-то нужны то вопросы к прогеру, зачем, и если они нужны для работы прода, то это уже не dev зависимость, а обычная. Соотвественно туда и переносится.

Stefan- Автор вопроса
Dmitry Sergeev 🇺🇦
ну мы банально отдельным слоем это ставим и кеширо...

к сожалению деплой в прод завязан на версии тегов, которые патчатся в package.json, поэтому он изменяется частенько так то также реализовано в докерфайле

Stefan- Автор вопроса

нет, только поле version в package.json

тогда же вообще замечательно. Объясните ситуацию с кешем. И дайте выбор 1) либо мы ждем долго перекчу ноде модулей при каждой смене версии 2) либо мы отказываемся от такого пустяка как version в package.json и наслаждаемся кешем и не ждем каждый раз перекачку

Stefan- Автор вопроса
Dmitry Sergeev 🇺🇦
> еще и не могут отказаться от установки dev depen...

там видимо не совсем по правильному реализовано по хорошему нужно переделывать ибо при сборке прода нужны модули которые находятся в дев зависимостях, я то могу это перекинуть в прод, но не уверен что от этого что-то изменится, так как файлов может накопиться столько же при установке и да, у нас и фронт и бэк в одном yarn build бежит

Stefan
нет, только поле version в package.json

но если у вас норм чуваки и обновляют yarn.lock нормально. Тогда в yarn.lock будет всегда соотествовать тому что указано в package.json. Поэтому скорее всего можно COPY ./yarn.lock RUN yarn COPY ./package.json Но надо чтобы прогеры нормально обновляли yarn.lock. А то будут истории, "я поставил зависимость, а ее нет в билде". Просто такая конструкция ошибок не выдаст, просто не поставит зависиомсть. А предыдушая выдаст ошибку, что зависиомсти нет в yarn.lock

Stefan- Автор вопроса
Dmitry Sergeev 🇺🇦
тогда же вообще замечательно. Объясните ситуацию с...

касательно второго пункта имеет смысл конечно

Stefan- Автор вопроса
Dmitry Sergeev 🇺🇦
но если у вас норм чуваки и обновляют yarn.lock но...

команда на инсталл такая yarn install --frozen-lockfile я так понимаю что локфайл с таким ключем не обновляется

Stefan
там видимо не совсем по правильному реализовано по...

> фронт и бэк в одном yarn build бежит Это все решается. У нас также.

Stefan
команда на инсталл такая yarn install --frozen-loc...

да вроде он и просто при вызове "yarn" не обновляется. Вроде --frozen-lockfile там по дефолту (я не помню)

Stefan
там видимо не совсем по правильному реализовано по...

точнее не так, У нас общий yarn.lock для фронта и бека. Ну тут опять. Я дал выбор. Либо вы разделяете это, либо смиритесь с тем что у вас в бэке лишние зависимости и образы столько весят

Stefan- Автор вопроса
Dmitry Sergeev 🇺🇦
точнее не так, У нас общий yarn.lock для фронта и ...

да, это нужно разделять разраб об этом говорил но наверное самая заезженная ситуация, сейчас много тасок, активно пилим, времени нет переделать😂

ну это же не вам надо. Если их устраивает то пусть так и остается. Проблемы вы озвучили, как можно сделать по другому тоже. Ваша работа на этом все

Stefan- Автор вопроса
Dmitry Sergeev 🇺🇦
ну это же не вам надо. Если их устраивает то пусть...

та вот не устраивает, если бы не одновременно много пайплайнов запускали, то может и не так болюче было бы но так как это фиче деплои и сборки, которых много и которые часто то аффектит производительность

Stefan
да, это нужно разделять разраб об этом говорил но...

в целом вам может подойти такой вариант: COPY ./yarn.lock ./ RUN yarn ... ... Но надо договорится чтобы не забывали обновить yarn.lock при обновлении зависимостей. Так как в таком кейсе он ошибок не выдаст, когда зависимости в package.json не соотвествуют тому что в yarn.lock

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта