Установщик зависает в ожидании завершения других установок, несмотря на то, что другие установки не выполняются

38

Я начал установку предварительного просмотра Xcode 4 прошлой ночью перед тем, как лечь спать. Когда я проснулся, при установке выскочило сообщение о том, что сначала нужно закрыть Xcode (дох!). Я так и сделал, но какой бы скрипт ни отображал сообщение, оно, похоже, зависло, потому что (не подлежащее отмене) сообщение не исчезнет, ​​и программа установки не будет работать.

После принудительного выхода из приложения Installer вышеприведенное сообщение все еще показывалось, поэтому я перезапустил свой MacBook Pro, а затем снова попытался выполнить установку. На этот раз он даже не запустится, вместо этого отобразится одна из полос активности конфет и сообщение:

Ожидание завершения других установок

На данный момент я в тупике. В данный момент не выполняется никаких других инсталляций, поэтому от прерванной установки должен остаться какой-то артефакт, объединяющий все работы. Но что?

clozach
источник
Это может показаться немного сумасшедшим, но в прошлом я обнаружил, что выход из симулятора iPhone может отменить эти установки. Я подозреваю, что есть своего рода блокировка, которая позволяет только одному установщику одновременно, и симулятор iPhone удерживает эту блокировку закрытой, чтобы он мог устанавливать приложения в собственное пространство. Помните, что симулятор iPhone просто запускает обычные приложения для Intel, но с другим ABI и находится в изолированной среде, подобной ios, поэтому я предполагаю, что он разделяет блокировку установки с ОС
Shayne

Ответы:

41
  1. sudo rm /private/var/db/mds/system/mds.install.lock
  2. перезагружать

Скорее всего, предыдущая установка зависла, и замок так и не был очищен.

bluesmoon
источник
3
странно, сколько раз мне приходится ссылаться на свой ответ здесь ... это такой тупой путь.
bluesmoon
3
Действительно тупой. Работал на меня без перезагрузки - большое спасибо.
funroll
1
Файл был назван просто mds.lockдля меня, но в противном случае это работало без перезагрузки, спасибо!
mVChr
7
У меня было так mds.lockкак mds.install.loc, который я удалил, но в дополнение @ решение tantrix ( в sudo killall -1 installd) было необходимо , чтобы избежать перезагрузки.
Эрик Каплун
Примечание: у меня сработало без «перезагрузки»
Даниил
44

Когда происходит установка, installdзапускается демон . Уничтожение остатка installdдолжно позволить выполнить другую установку (и уничтожит все новые, ожидающие завершения более не существующей). Так,

sudo killall -1 installd

Приятно, что вам не нужно перезагружаться.

tantrix
источник
1
Спасибо. Были две установки в ожидании. Оба финишировали сразу после этой команды
Сайка
Спасибо, это должен быть правильный ответ
Артур Гиот
2

У меня была та же проблема без видимой причины, и я нашел пару решений, предлагающих удалить некоторые файлы, но ничего не помогло (по крайней мере, этого было недостаточно). В конце концов принудительно завершил работу установщика с монитором активности, а затем перезапустил мой Mac, и после перезагрузки установка завершилась нормально.

patrickq
источник
0

Просто убедитесь, что в App Store не загружаются никакие приложения, потому что iMovie загружался в фоновом режиме, и я не заметил этого позже. После этого я просто отменил установку iMovie, а другая установка была загружена через несколько секунд.

сенной
источник
-1

Есть ли на вашем компьютере предыдущая установка XCode? Если да, возможно, вам следует сначала попробовать удалить его. Удачи..

rabidmachine9
источник
6
Плохой совет - Apple даже явно допускает существование нескольких установок XCode. Я вижу, что ваш ответ был первым, поэтому вы сделали слепое предположение, и я просто говорю: удаление другого программного обеспечения на OSX обычно не является решением - это противоречит Windows, где раньше это было скорее правилом.
SuperTempel
-1

Когда я пытаюсь: sudo killall -1 installd Мне нужен пароль для продолжения. Кроме того, монитор активности может отключить любые другие программы установки, работающие так, как у меня ...

Йен Филлипс
источник