Какъв е смисълът на двойното инсталиране в gulp?

Първият старт за gulp е:

npm install --global gulp
npm install --save-dev gulp

Разбирам, че първата инсталация е да инсталирате двоичния файл в глобалния път, но ..

  • какъв е смисълът от втората инсталация?
  • не може ли да е и глобално?

person Ryan    schedule 07.09.2014    source източник


Отговори (1)


Предназначен е за контрол на версия/зависимост. Да речем например, че имате проект, който използва версия 1.0.1 на плъгин за gulp.

Но какво се случва, ако човек иска да разклони този проект от github, packagist или където и да е?

Те може да имат същия плъгин, инсталиран глобално на тяхната система, но версията е 2.0.1. Ако приемем, че плъгинът използва стандартна семантика за контрол на версиите, единственият път, когато увеличавате първото число, е когато промените могат да причинят прекъсвания в други зависимости в сравнение с предишните версии.

Вместо да използвате новата версия 2.0.1 в проекта, която причинява прекъсвания / грешки, като включите версията за разработка (1.0.1) в хранилището (проекта), вие елиминирате този проблем

person marblewraith    schedule 07.09.2014
comment
Тогава какъв е смисълът от глобалната инсталация на gulp, ако единственото нещо, което е важно, е версията на локалната инсталация на gulp, която е посочена във файла packages.json? - person Jake Wilson; 09.09.2014
comment
Екранна снимка Погледнете, плъгините за gulp са инсталирани и двете са посочени като пакети в package.json, но gulp framework (от който зависят 2-те пакета) е инсталиран глобално, което ми позволява да го използвам в други проекти, без да имам множество копия. Позволява ми да използвам различни настройки на gulp за всеки проект, който имам, без да се налага да инсталирам рамката gulp няколко пъти. - person marblewraith; 12.09.2014
comment
Въпреки това е полезно да имате гъвкавостта да имате множество копия, защото ако нещо трябва да се промени в проект, който използва специфичен тип плъгин, той няма да се счупи, защото можете да използвате различна версия на gulp от всички останали, ако е необходимо. Това е по-скоро проблем с контрола на версиите, отколкото технически. - person marblewraith; 12.09.2014