zsh-users / antigen

The plugin manager for zsh.
http://antigen.sharats.me
MIT License
7.95k stars 279 forks source link

no such file or directory #743

Open aspizu opened 1 year ago

aspizu commented 1 year ago

When trying to run any antigen command:

antigen:source:2: no such file or directory: /home/aspizu/antigen.zsh

installed antigen using the curl command and have this in ~/.zshrc -> source ~/.antigen.zsh

webbb82 commented 1 year ago

same issue here plus /.zshrc:105: command not found: antigen a/antigen.zsh:source:2: no such file or directory: /home/llama/bin/antigen.zsh archlinux%

dandelion-sea commented 1 year ago

To anyone reading this answer: The project seems lack of maintaince, althought it runs well for now. You may consider choosing another plugin manager. I am still using Antigen just because it is easy to bundle with oh-my-zsh.

Solution

Same issue to me today, and I found a solution:

# remove old installation, please check before exec it
#rm -r .antigen .antigen.zsh

# and re-install by git clone
git clone https://github.com/zsh-users/antigen.git ~/.antigen

# add source line to .zshrc. you may edit .zshrc manually
echo 'source ~/.angiten/antigen.zsh' >> ~/.zshrc

# finally, source the new file(or restart your shell), 
# and wait for a while for antigen to prepare everything for you!
source ~/.zshrc

Detailed Reason

I was confused by the error message at first, until I ran which antigen and got output like:

antigen () {
        local MATCH MBEGIN MEND
        [[ "$ZSH_EVAL_CONTEXT" =~ "toplevel:*" || "$ZSH_EVAL_CONTEXT" =~ "cmdarg:*" ]] && source "/home/name/.antigen/antigen.zsh" && eval antigen $@
        return 0
}

and I search it in source code, and find something here.

The issue seems to be caused by the hard encoded path $_ANTIGEN_INSTALL_DIR/antigen.zsh in the cache file($ANTIGEN_CACHE, /home/name/.antigen/init.zsh by default).

So my first solution to this issue is modifying the .antigen.zsh like:

# not perfect solution, edit the .antigen.zsh and delete all old caches
sed -i "s/_ANTIGEN_INSTALL_DIR\/antigen.zsh/_ANTIGEN_INSTALL_DIR\/.antigen.zsh/g" .antigen.zsh
antigen reset

but this solution is not perfect too, some commands such like antigen selfupdate still have error. I think there are more hard-encoded path in the repo.

Finally, when I am wandering in the repo, I find a file named ./antigen.zsh, which you just need to source then evething will be ok. So the issues is solved happily, by the non-official installation method mentioned above.

Young2men commented 1 year ago

Hi