// package.json
"devDependencies": {
"gulp": "^5.0.1"
}
# Запуск локального приложения:
npm install --save-dev gulp
npx gulp --version
# Запуск локального gulp:
npx gulp --version
# скачать последнюю версию, выполнить и потом удалить:
npx gulp@latest --version
# Устанавливаю gulp локально (ставится версия "^5.0.1"):
npm install gulp --save-dev
# В репозитории появилась версия "5.0.2"
# Обновляюсь до версии "5.0.2":
npm update gulp --save-dev
# Вышла версия "6.0.0"
# Теперь обновляться до неё надо так:
npm install gulp@latest --save-dev
# Если gulp не найден на компьютере, то
# временно его устанавливает, выводит версию и удаляет gulp
npx gulp --version
# а если gulp найден, то просто выводится его версия
# Временно установливает gulp, выводит версию и удаляет gulp –
# независимо от того, найден gulp на компьютере, или нет:
npx gulp@latest --version
Куда всё ставится:
node_modules/gulp/ # сама библиотека gulp, импорт в коде (import gulp from 'gulp')
node_modules/.bin/gulp/ # тут исполняемый файл (CLI) gulp, запуск gulp из терминала и npm-скриптов
# КЭШ npm:
~/.npm/_cacache/
# Файлы .tgz с пакетами (например gulp-5.0.1.tgz) находятся в папке:
~/.npm/_cacache/content-v2/
# а их индексы и метаданные — в:
~/.npm/_cacace/index-v5/
# Но содержимое в "content-v2/" хранится в зашифрованном виде по хэшам (sha512),
# поэтому там не видно имён вроде gulp.tgz — только длинные хэш-пути
# (например ~/.npm/_cacache/content-v2/sha512/ff/9f/...).
# Проверка целостности КЭШа, очистка мусора, сжатие КЭШа:
npm cache verify
# Очистить КЭШ:
npm cache clean --force
# Устанавливает gulp с дев-зависимостями:
pnpm add gulp --save-dev
# Устанавливается gulp в раздел с зависимостями для продакшена:
pnpm add gulp --save-prod
# То же самое:
pnpm add gulp
# ... в раздел с optional-зависимостями:
pnpm add gulp --save-optional
# только запускает установленный gulp (не скачивает):
pnpm exec gulp --version
# Скачивает и запускает gulp в песочнице:
pnpm dlx gulp
# Удалить gulp:
pnpm remove gulp
# удаляет символическую ссылку на store (глобальный кэш) из node_modules
# Полностью удалить (в т.ч. и из store):
pnpm store prune
# то есть, сначала надо удалить символическую ссылку из node_modules, ...
# ... а потом запустить эту команду. И если gulp больше не используется ...
# ... другими проектами, то он удалится и из Store.
Либо можно запустить через package.json:
// package.json
"scripts": {
"build": "gulp"
}
А затем просто выполнить:
pnpm run build
# Узнать путь к store
pnpm store path
# pnpm store:
.local/share/pnpm/store/v10
# хранилище всех пакетов на уровне пользователя
# А здесь хранятся жёсткие ссылки (symlink) на пакеты в store:
node_modules/
# КЭШ:
~/.cache/pnpm/