/ / ZSH-VervollstÀndigungsfunktionen sind defekt - zsh, oh-my-zsh

ZSH-VervollstÀndigungsfunktionen sind defekt - zsh, oh-my-zsh

Meine oh-my-zsh-Installation, die seit fast einem Jahr funktioniert, ist gerade kaputt. Wenn ich ein Terminal öffne, erhalte ich:

/home/marcel/.oh-my-zsh/lib/theme-and-appearance.zsh:2: colors: function definition file not found
/home/marcel/.oh-my-zsh/oh-my-zsh.sh:78: compinit: function definition file not found
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:80: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:93: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:100: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:109: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:119: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:129: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:138: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:144: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:147: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:150: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:153: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:163: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:166: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:168: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:182: command not found: compdef
/home/marcel/.oh-my-zsh/plugins/git/git.plugin.zsh:193: command not found: compdef
$SPACESHIP_PROMPT_TRUNC is deprecated. Use $SPACESHIP_DIR_TRUNC instead.
spaceship_setup:3: add-zsh-hook: function definition file not found
spaceship_setup:4: add-zsh-hook: function definition file not found
$SPACESHIP_PROMPT_TRUNC is deprecated. Use $SPACESHIP_DIR_TRUNC instead.
spaceship_setup:3: add-zsh-hook: function definition file not found
spaceship_setup:4: add-zsh-hook: function definition file not found

Ich habe mich umgesehen und viele andere Antworten schlagen vor zu rennen compaudit. Laufen das gibt mir zsh: compaudit: function definition file not found.

Was ich ausprobiert habe:

  1. rm ~/.zcompdump*
  2. Neuinstallation von oh-my-zsh
  3. Neuinstallation von zsh aus dem Quellcode
  4. HinzufĂŒgen /usr/share/zsh/functions zu $fpath
  5. chown -R 755 /usr/share/zsh/functions
  6. Laden und Laufen compaudit Innen zsh -f

Meine Umgebung:

  • uname -a: Linux Hermes 4.11.6-1-ARCH #1 SMP PREEMPT Sat Jun 17 08:19:42 CEST 2017 x86_64 GNU/Linux
  • zsh --version: zsh 5.3.1 (x86_64-unknown-linux-gnu)
  • which zsh: /usr/local/bin/zsh

Bearbeiten:

Ich habe bestÀtigt, dass es sich um ein Berechtigungsproblem handelt. Wenn ich mache

sudo zsh -f
autoload -U compaudit
compaudit

Der Befehl funktioniert wie erwartet. Ich habe es dann getan

sudo chmod 777 /usr/share/zsh/ -R # Just for testing I promise

und ich habe immer noch zsh: compaudit: function definition file not found beim laufen compaudit.

Ich habe es auch versucht

sudo chown user:users /usr/share/zsh/ -R

und es funktioniert immer noch nicht. Wenn alle diese Dateien meinem Benutzer gehören UND 777 sind, wie funktioniert zsh als root und nicht als mein Benutzer?

Antworten:

4 fĂŒr Antwort № 1

Nach einem Hinweis in Installationsprobleme mit Colors, Compinit und Git Plugin # 4757scheint es, dass die ÜberprĂŒfung der "Inhalt der Variablen $ FPATH"enthĂ€lt den korrekten Pfad fĂŒr den Installationsort der Funktionen, um das Problem zu beheben.

Kopieren Sie außerdem den zsh-Inhalt an einen Speicherort wie den Stammordner oder einen Pfad, der bereits in definiert ist $FPath kann auch zur Behebung dieses Problems beitragen.

Als Erstes mĂŒssen Sie den Inhalt Ihrer FPATH-Variablen ĂŒberprĂŒfen: echo $ FPATH. In einer normalen Situation kehre so etwas zurĂŒck: /home/charmander/.oh-my-zsh/plugins/git:/home/charmander/.oh-my-zsh/functions:/home/charmander/.oh-my-zsh/completions:/home/charmander/.oh-my-zsh/plugins/python:/home/charmander/.oh-my-zsh/plugins/pip:/home/charmander/.oh-my-zsh/plugins/git:/home/charmander/.oh-my-zsh/functions:/home/charmander/.oh-my-zsh/completions:/usr/share/zsh/site-functions:/usr/share/zsh/5.0.2/functions.

In meinem Fall kam es zurĂŒck: /opt/intel/composer_xe_2011_sp1.7.256/mkl/include. Wenn ich es versuche Entfernen Sie .oh-my-zsh und fĂŒhren Sie nur zsh aus. /usr/share/zsh/5.0.2/scripts/newuser:6: zsh-newuser-install: function definition file not found. Suche im Web Ich habe diesen Fehlerbericht gefunden: zsh: Viele Funktionsdefinitionen fehlen zsh-newuser-install, compinit, etc Das Sagen wir, es könnte eine vom Intel-Compiler erstellte Variable zum Überschreiben geben: /

Als Problemumgehung fĂŒr dieses Problem können die folgenden Zeilen eingefĂŒgt werden Ihr .bash_profile, wenn Sie diesen Befehl nicht ausfĂŒhren können chsh -s $ (which zsh).

FPATH=/home/modelagem/beatriz.fonseca/.oh-my-zsh/plugins/python:/home/modelagem/beatriz.fonseca/.oh-my-zsh/plugins/pip:/home/modelagem/beatriz.fonseca/.oh-my-zsh/plugins/git:/home/modelagem/beatriz.fonseca/.oh-my-zsh/functions:/home/modelagem/beatriz.fonseca/.oh-my-zsh/completions:/usr/share/zsh/site-functions:/usr/share/zsh/5.0.2/functions

export FPATH

Quelle

ZusĂ€tzlich nach einem Hinweis von Farben: Funktionsdefinitionsdatei nicht gefunden # 4607Es scheint, dass andere dieses Problem durch HinzufĂŒgen gelöst haben $HOME/usr/share/zsh/"version of zsh"/functions Um dies zu lösen, installieren Sie zsh als $HOME/usr kann dieses Problem verursachen.


Weitere LektĂŒre

   FPATH  The search path for function definitions.  The directories in this  path  are  searched
for  a  file  with the same name as the function or command when a function with the -u
attribute is referenced and when a command is not found.  If an  executable  file  with
the name of that command is found, then it is read and executed in the current environ-ment. environment.
ment.  Unlike PATH, the current directory must be represented explicitly by  .   rather
than by adjacent : characters or a beginning or ending :.

Quelle


9.1 Autoloading-Funktionen

Eine Funktion kann mit als undefiniert markiert werdenAutoload eingebaut (oder ‘Functions -u’ oder ‘typeset -fu’). Eine solche Funktion hat keinen Körper. Wann Wird die Funktion zuerst ausgefĂŒhrt, sucht die Shell nach ihrer Definition Verwenden Sie die Elemente der Variablen fpath.

Quelle


2 fĂŒr Antwort № 2

Ich wollte nur kurz darauf hinweisen, dass dieser Fehler vorliegtkann auch vorkommen, wenn Sie zwei separate Versionen von ZSH installiert haben. Stellen Sie sicher, dass sich in Ihrem FPATH nichts befindet, das mit der Version von ZSH, die Sie fĂŒr Ihre eigentliche Anmeldeshell verwenden, nicht kompatibel wĂ€re.