Autojump: zsh : commande introuvable : j

Créé le 22 mars 2013  ·  11Commentaires  ·  Source: wting/autojump

J'installe autojump par brew, lance la commande

$ brew install autojump

Mais, il y a un problème avec moi. Premièrement, je ne peux exécuter que la commande autojump , le j n'est pas trouvé lorsque je l'exécute. Ensuite, je lance autojump -a ~/code , renvoie le message d'erreur :

  File "/usr/local/bin/autojump", line 176, in save
    temp = NamedTemporaryFile(dir = CONFIG_DIR, delete = False)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 447, in NamedTemporaryFile
    (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 228, in _mkstemp_inner
    fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: '/Users/eward/.local/share/autojump/tmprYDreK

/Users/eward est mon répertoire d'accueil. Je pense que le problème est que le fichier tmp n'est pas accessible en écriture, donc je crée le répertoire ~/.local/share/autojump pour autojump. Maintenant, l'autojump --add est ok, mais j n'est pas disponible.

Ensuite, à partir du numéro 178, je découvre que mon .zshrc devrait inclure le fichier etc d'autojump, et je l'ajoute à mon fichier .zshrc

source $HOME/homebrew/Cellar/autojump/21.1.2/etc/autojump.zsh

Enfin, l'autojump c'est du travail, mais, je ne sais pas, si tant d'ennuis sont à cause de quoi. Peut-être qu'il y a un bug ou que quelqu'un rencontre le même problème avec moi. J'espère que cela peut être utile.

needs-info os-mac shell-zsh

Commentaire le plus utile

Essayez d'ajouter ceci à votre .zshrc :

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

Tous les 11 commentaires

zsh est-il votre shell par défaut ? J'ai eu un problème où autojump ne fonctionnait pas correctement car bash était mon shell par défaut mais j'utilisais zsh. Qu'obtenez-vous lorsque vous exécutez echo $SHELL ?

oui, zsh est le shell par défaut.

$ echo $SHELL
/bin/zsh

Essayez d'ajouter ceci à votre .zshrc :

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

Avoir le même problème. Étrangement, j'ai modifié mon shell par défaut en utilisant chsh -s /bin/zsh qui me connecte avec succès à une nouvelle session zsh lorsque j'ouvre Terminal, mais lorsque j'exécute echo $SHELL il affiche /bin/bash .

La formule Homebrew a été mise à jour récemment, pouvez-vous réinstaller et voir si vous rencontrez les mêmes problèmes ?

La réinstallation est bonne, pas de problème, merci.

En fait, j'ai aussi ce problème... zsh est la valeur par défaut, 'autojump' fonctionne alors que 'j' n'est pas trouvé. Juste mis à jour et installé en vain. Le complément .zshrc donne :
saut automatique : répertoire '' introuvable
Essayez autojump --help pour plus d'informations.

J'ai le même problème avec maxwerr.

/bin/zsh

et j'ajoute ceci sur mon .zshrc :

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

quand j'appelle :

autojump: directory '' not found
Try `autojump --help` for more information.

J'ai l'autojump depuis longtemps et cela a toujours bien fonctionné. Je viens de faire une énorme mise à jour de tous les trucs homebrew et ça s'est cassé de la manière décrite ci-dessus. J'ai creusé dans le \ brew --prefix /etc/ pour trouver qu'au lieu d'un exécutable générique ( autojump ), il y a maintenant des exécutables pour chaque type de shell ( autojump.sh , autojump.zsh , autojump.fish , autojump.bash ). Une fois que j'ai mis à jour la ligne de configuration dans mon fichier .zshrc (comme d'autres l'ont mentionné ci-dessus), cela a très bien fonctionné :

[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh

L'astuce consistait à utiliser celui de zsh puisque j'utilise zsh comme shell par défaut. Je me rends compte que ce problème est clos, mais j'espère que cela aidera tous ceux qui rencontrent ce problème.

Juste pour clarifier, il y a toujours eu plusieurs fichiers shell wrapper ( autojump.bash , autojump.zsh , etc). Cependant, autojump.sh est censé déterminer intelligemment le shell que vous utilisez réellement et charger le bon fichier.

@jbranchaud : Le comportement de autojump.sh a changé relativement récemment. Si vous ne parvenez pas à charger correctement avec autojump.sh , pourriez-vous ouvrir un ticket avec la version d'autojump que vous utilisez ?

Essayez d'ajouter ceci à votre .zshrc :

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

celui-ci l'a résolu pour moi. Mojave, zsh 5.3, saut automatique 22.5.3

Cette page vous a été utile?
0 / 5 - 0 notes