ZSH жалуется на RVM __rvm_cleanse_variables: файл определения функции не найден

170

При использовании последних версий ZSH и RVM в Mac OS X 10.7.4 ZSH жалуется на это:

__rvm_cleanse_variables: function definition file not found

Тайлер Брок
источник
Это происходит и в Ubuntu после обновления RVM. Решение @ Heracek решило проблему.
Эрнест

Ответы:

495

Запуск следующего решил проблему:

rm -f ~/.zcompdump*

Примечание: * в случае если есть несколько файлов .zcompdump.

Тайлер Брок
источник
6
для чего этот файл?
sym3tri
21
ZSH использует compinitдля инициализации завершения текущего сеанса. Чтобы ускорить выполнение compinit, можно сделать дамп конфигурации, которая будет считываться при будущих вызовах. Этот дамп-файл находится .zcompdumpв том же каталоге, что и файлы запуска (то есть $ZDOTDIRили $HOME).
csgui
Бум идет динамитом.
volker238
искал "whats 'zcompdump' for" при диагностике __rvm_cleanse_variablesпроблемы ... две птицы, один поиск. +1 всем.
максимум
точно так же, как придирка кажется, что вы могли бы удалить -fфлаг, нет необходимости обходить подтверждение удаления файла (если пользователь установил его в первую очередь)
pech0rin
109

Иногда там также есть ~/.zcompdump-<COMPUTER NAME>-<VERSION>файл, поэтому используйте:

rm -f ~ / .zcompdump *
heracek
источник
2
Ура, это была моя проблема :)
Деламеко
Не забудьте открыть новую оболочку.
Хотчке
7

Чтобы отключить .zcompdump*файл (ы), вы можете посмотреть в своем .zshrc(или /etc/zsh/* files) compinitи добавить -Dфлаг.

Это может быть лучше, чем создавать файлы и удалять их при каждом входе в систему.

(источник: http://www.csse.uwa.edu.au/programming/linux/zsh-doc/zsh_23.html ).

кочевник
источник
4

Моя проблема сохраняется даже после compinit -Dи rm -f ~/.zcompdump*. Я обнаружил эту проблему с github и проверил мой каталог .zplug и, конечно же, обнаружил некоторые не скрытые файлы zcompdump (без предшествующего '.'). Удалил их и мне было хорошо идти. Если вы используете менеджер плагинов zsh, например zgen или zplug, проверьте их каталоги.

Эндрю Прентис
источник
парень, ты спас день. для меня вместе с ~/.zcomdump*, ~/.antigen/.zcomdump*тоже нужно удалить
userx
1

Добавьте rm -f ~ / .zcompdump {,. Zwc} к .zlogin, чтобы автоматизировать его

hanetzer
источник
или compinit -D, если вы не хотите кэшировать.
Хороший человек
0

Запустите этот комментарий

rm -f ~/.zcompdump*
Poonkodi
источник
3
Пожалуйста, добавьте пояснения к своему ответу, чтобы другие могли извлечь из него урок. Случайное удаление файлов выглядит подозрительно
Нико Хааз