Диспетчер пакетов Swift зависает при инкрементных сборках (Swift 6.2, Linux Ubuntu 24.04)Linux

Ответить
Anonymous
 Диспетчер пакетов Swift зависает при инкрементных сборках (Swift 6.2, Linux Ubuntu 24.04)

Сообщение Anonymous »

У меня возникла проблема, из-за которой Менеджер пакетов Swift зависает на неопределенный срок в Linux со Swift 6.2.
Среда
  • Swift: 6.2 (swift-6.2-RELEASE)
  • ОС: Ubuntu 24.04.3 LTS
  • Ядро: Linux 6.8.0-60-generic x86_64
Проблема
После первоначальной успешной сборки любая последующая команда быстрой сборки зависает в состоянии «Планирование сборки» и никогда не завершается.
Минимальное воспроизведение:

Код: Выделить всё

  cd /tmp
swift package init --type executable --name test
cd test
swift build              # ✅ Works (5-10 sec)
swift build              # ❌ Hangs indefinitely
Процесс зависает на этапе «Планирование сборки» без каких-либо результатов и никогда не завершается. Мне нужно убить его с помощью kill -9.
Что я пробовал
  • Код: Выделить всё

    swift build -Xswiftc -whole-module-optimization
    - все еще висит
  • Код: Выделить всё

    swift build -c release
    - все еще висит
  • Код: Выделить всё

    swift build --verbose
     — отображается сообщение «Планирование сборки», а затем зависает.
  • Различные проекты (как минимальные, так и сложные) — одна и та же проблема.
Текущее решение
Единственное решение — полностью сбрасывать настройки перед каждой сборкой:

Код: Выделить всё

pkill -9 swift 2>/dev/null || true
swift package purge-cache
swift package reset
swift build
Это добавляет 30–40 секунд к каждому циклу сборки, что делает разработку в Linux непрактичной.
Вопрос
Есть ли способ исправить или отключить инкрементальную компиляцию в Linux с помощью Swift 6.2?
Существуют ли:
  • переменные среды, которые могут помочь?
  • Создать флаги для решения этой проблемы?
  • Известные исправления или исправления?
Дополнительный контекст:

Подробнее здесь: https://stackoverflow.com/questions/798 ... untu-24-04
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»