Что такое License check failed?
Ошибка License check failed
возникает, когда автоматическая проверка лицензий зависимостей или кода обнаруживает несовместимые или запрещенные лицензии.
Причины возникновения
- Зависимости с несовместимыми лицензиями
- Отсутствие лицензионных файлов
- Нарушения лицензионных требований
- Проблемы с коммерческими лицензиями
- Несоответствие лицензии проекта
- Проблемы с attribution requirements
- Нарушения copyleft лицензий
Как отладить ошибку
- Проверь отчет лицензий - изучи детальные результаты проверки
- Проверь зависимости - найди проблемные пакеты
- Проверь лицензию проекта - убедись в корректности
- Проверь требования лицензий - изучи условия использования
- Проверь коммерческие ограничения - убедись в совместимости
Как исправить ошибку
1. Настрой проверку лицензий
2. Настрой CI/CD для проверки лицензий
1# .github/workflows/license-check.yml
2name: License Check
3on: [push, pull_request]
4
5jobs:
6 license-check:
7 runs-on: ubuntu-latest
8 steps:
9 - uses: actions/checkout@v3
10
11 - name: Set up Python
12 uses: actions/setup-python@v4
13 with:
14 python-version: '3.11'
15
16 - name: Install licensecheck
17 run: pip install licensecheck
18
19 - name: Check licenses
20 run: |
21 licensecheck --summary
22 licensecheck --allow-licenses MIT,Apache-2.0,BSD-3-Clause,GPL-3.0
3. Создай файл исключений лицензий
4. Настрой автоматическое обновление лицензий
1# .github/workflows/update-licenses.yml
2name: Update Licenses
3on:
4 schedule:
5 - cron: '0 0 * * 1' # Каждый понедельник
6
7jobs:
8 update:
9 runs-on: ubuntu-latest
10 steps:
11 - uses: actions/checkout@v3
12
13 - name: Update license information
14 run: |
15 # Обновление информации о лицензиях
16 pip install pip-licenses
17 pip-licenses --format=markdown > LICENSES.md
5. Настрой проверку лицензий в Docker
1# Dockerfile с проверкой лицензий
2FROM python:3.11-slim
3
4WORKDIR /app
5COPY requirements.txt .
6
7# Установка и проверка лицензий
8RUN pip install licensecheck && \
9 pip install -r requirements.txt && \
10 licensecheck --allow-licenses MIT,Apache-2.0,BSD-3-Clause
11
12COPY . .
13CMD ["python", "app.py"]
Как мониторить подобные ошибки
- Настрой алерты на license check failures
- Мониторь изменения лицензий зависимостей
- Отслеживай новые зависимости с проблемными лицензиями
- Настрой автоматические проверки при обновлениях
- Используй дашборды для анализа лицензий
FAQ
В: Как настроить разные правила лицензий для разных проектов?
О: Учитывай тип проекта (коммерческий/открытый), требования клиентов, корпоративные политики.
В: Что делать с legacy зависимостями с проблемными лицензиями?
О: Постепенно заменяй на альтернативы, создавай план миграции, документируй решения.
В: Как автоматизировать проверку лицензий?
О: Используй CI/CD инструменты, настрой автоматические проверки, применяй pre-commit hooks.
Лучшие практики
- Регулярно проверяй лицензии зависимостей
- Документируй политики лицензирования
- Используй автоматические проверки
- Поддерживай актуальную информацию о лицензиях
- Настрой мониторинг изменений лицензий
- Обучай команду вопросам лицензирования