4.0 KiB
4.0 KiB
📦 Инструкция по публикации в NPM
Подготовка к публикации
Шаг 1: Авторизация в NPM
npm login
Введите credentials для аккаунта с доступом к организации @grom13.
Шаг 2: Сборка проекта
cd /home/gromov/projects/my/dvc-cli
npm run build
Эта команда выполнит:
- Сборку библиотеки в
dist/ - Генерацию TypeScript деклараций (
.d.ts) - Сборку CLI бинарника в
bin/cli.js
Шаг 3: Проверка перед публикацией (опционально)
# Посмотреть какие файлы будут опубликованы
npm pack --dry-run
# Или создать тестовый архив для проверки
npm pack
# Это создаст файл grom13-dvc-cli-0.1.0.tgz
Публикация
Шаг 4: Публикация в NPM
npm publish --access public
⚠️ Важно: Флаг --access public обязателен для scoped пакетов (@grom13/...), иначе NPM попытается опубликовать как приватный пакет (требует платную подписку).
Шаг 5: Проверка публикации
# Проверить что пакет доступен
npm view @grom13/dvc-cli
# Протестировать установку через npx
npx @grom13/dvc-cli --help
# Или установить глобально и протестировать
npm install -g @grom13/dvc-cli
dvc --help
Обновление версии
Для будущих релизов используйте команды версионирования:
# Patch версия (0.1.0 → 0.1.1) - исправления багов
npm version patch
# Minor версия (0.1.0 → 0.2.0) - новые функции
npm version minor
# Major версия (0.1.0 → 1.0.0) - breaking changes
npm version major
После обновления версии:
npm publish --access public
Откат публикации (если нужно)
# Удалить конкретную версию (в течение 72 часов)
npm unpublish @grom13/dvc-cli@0.1.0
# Удалить весь пакет (использовать осторожно!)
npm unpublish @grom13/dvc-cli --force
⚠️ Внимание: После unpublish нельзя повторно опубликовать ту же версию. Нужно увеличить версию.
Использование после публикации
Пакет будет доступен для использования:
# Через npx (без установки)
npx @grom13/dvc-cli video.mp4 ./output
# Глобальная установка
npm install -g @grom13/dvc-cli
dvc video.mp4 ./output
# Локальная установка в проект
npm install @grom13/dvc-cli
Troubleshooting
Ошибка: "You must sign up for private packages"
Решение: Добавьте флаг --access public при публикации.
Ошибка: "You do not have permission to publish"
Решение: Убедитесь что вы авторизованы (npm whoami) и имеете доступ к организации @grom13.
Ошибка при сборке
Решение: Убедитесь что установлены все зависимости:
npm install
# или
bun install
Checklist перед публикацией
- Обновлена версия в
package.json - Обновлен
README.mdс актуальной информацией - Проект успешно собирается (
npm run build) - Протестирован CLI локально
- Авторизованы в NPM (
npm whoami) - Проверены файлы для публикации (
npm pack --dry-run)