Что происходит при выполнении bundle install? В логах пишется, что устанавливаются gemы, но куда устанавливаются? Если просто на локальную машину, в систему, то почему установка происходит для каждого проекта? Т.е. если создать отдельную папку с новым проектом, то с теми же же gemами, что и в другом проекте, то в обоих проектах при bundle install в логах будем видеть установку gemов. Хотя мне кажется по логике, в одном проекте должен увидеть install, а в другом skip или типа того.
происходит простая вещь - установка описанных зависимостей.
и зависимости устанавливаются для каждого проекта, ибо у разных проектов могут быть разные зависимости.
Всё написаное ниже - ошибочно. В терминале было несколько вкладок и однотипность событий меня смутила так сильно, что пришёл на toster. Всё в порядке, извините.
ошибочный вопрос
Хорошо, попробую по другому спросить. Скорее всего не понятно что пытаюсь узнать.
Есть два проекта: проект1 и проект2. У обоих проектов, в Gemfile мы видим gem 'puma'. В директориях каждого проекта, выполнив в терминале bundle install мы увидим такую строку: Installing puma.
xxx44yyy, чтоб вам было немного понятнее: в гемфаеле для одного проекта может быть прописана зависимость от гем Х версии 1.1, а у другого проекта может быть зависимость от этого же гема, но версии 1.5. логично, что каждый проект будет устанавливать свою версию этого гема.
DevMan, Угу. Просто я тут понял что на Rails пишу лет 6, но не знаю внутренней кухни почти никак. Поэтому плавно начал интересоваться тем, что внутри. Но старый, в голову лезет всё плохо.
xxx44yyy, это нормально.
прост гемы не имеют отношения только к рельсам, и полезно было бы знать как обстоят дела в руби вообще.
и не только в руби: менеджеры зависимостей во многих языках имеют схожие алгоритмы.
это не для критики - вы наоборот молодец, что пытаетесь разобраться.
DevMan, Да, согласен. Хорошо бы ещё получить опыт в коммерческой разработке на Ruby (общий опыт в IT/dev лет 15, но в коммерческо-командной работе с Ruby = 0, хотя с самим Ruby/Rails лет 5-6).
xxx44yyy, не наверное: бизнесу срать-плевать как и на чем ты пишешь свой код пока он решает их задачи.
это не призыв к говнокоду, это призыв к более критичному взгляду на свою работу.