Автоматичне оновлення YouCompleteMe
Як підтримувати YouCompleteMe працюючим і оновленим після несумісних оновлень системи (звісно, якщо YCM сам по собі стабільний).
Дві набридливі проблеми можуть статися з компактним розгортанням YouCompleteMe, коли система поновлюється:
- несумісність
ycmd
зlibclang
,boost
чи чимось ще - зміна шляхів до системних заголовків (наприклад
libstdc++
).
У першому випадку розширення не завантажиться взагалі, це легко помітити. Але в другому випадку деякі функції доповнюються нормально, але тільки не з стандартної бібліотеки C++. Я щойно збагнув, що YCM міг би поновлюватися разом із системою, як тільки помічено несумісність.
Дві фіксації (перша, друга) реалізують таке:
- Скрипт
ycm-check.sh
щоб перевіряти, чи всі теки із системними заголовками все ще присутні у файловій системі, і чиycm_core.so
правильно компонується. - Скрипт
ycm-update.sh
щоб поновлювати розширення і список тек пошуку дляycm_extra_conf.py
. - Скрипт
yaourt
щоб перехопити запит на поновлення системи.
Тепер щоразу, як я вводжу yaourt -Syua
, система перевіряє, чи треба поновити
YouCompleteMe, і, власне, поновлює його автоматично.