jorgebucaran / fisher

A plugin manager for Fish
https://git.io/fisher
MIT License
7.55k stars 257 forks source link

Installation script blocked #688

Closed eliax1996 closed 2 years ago

eliax1996 commented 2 years ago

After entering in my fish shell the following command: curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher the installation script stays locked after displaying the following:


fisher install version 4.3.0
Fetching https://codeload.github.com/jorgebucaran/fisher/tar.gz/HEAD

It isn't a problem of connection or proxy because launching: wget https://codeload.github.com/jorgebucaran/fisher/tar.gz/HEAD the file is correctly downloaded on my machine.

jorgebucaran commented 2 years ago

What version of Fish are you on? Do you have a .curlrc or is your curl configured unusually?

willrogers commented 2 years ago

I see exactly the same. Fish 3.3.1 installed with Homebrew on MacOS Monterey. No custom Curl configuration. curl and wget work fine.

jorgebucaran commented 2 years ago

Think you can create a Docker image where we can reproduce the problem?

Works for me. Fish 3.3.1 installed with brew on macOS Monterey, M1 chip.

eliax1996 commented 2 years ago

Ok, I built a docker image and all seems be working:

# syntax=docker/dockerfile:1
FROM homebrew/brew

SHELL ["/bin/bash", "-c"]

RUN brew install fish

SHELL ["/home/linuxbrew/.linuxbrew/bin/fish", "-c"]

RUN curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher

WORKDIR /

CMD ["bash"]

if you save it as Dockerfile and then you write: docker image build . -t my-image && docker run -it my-image /home/linuxbrew/.linuxbrew/bin/fish all seems be working

eliax1996 commented 2 years ago

Another hint is the following, if I try to exit from the fish session the shell print the following:

There are still jobs active:

   PID  Command
 39688  fish --command "
                    if test -e $plugin
                        command cp -Rf $plugin/* $source
                    else
                        set temp (command mktemp -d)
                        set name (string split \@ $plugin) || set name[2] HEAD
                        set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2]

                        echo Fetching (set_color --underline)\$url(set_color normal)

                        if curl --silent \$url | tar -xzC \$temp -f - 2>/dev/null
                            command cp -Rf \$temp/*/* $source
                        else
                            echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
                            command rm -rf $source
                        end
                        command rm -rf \$temp
                    end

                    set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
                " &

A second attempt to exit will terminate them.
Use 'disown PID' to remove jobs from the list without terminating them.
jorgebucaran commented 2 years ago

So, it's working as expected inside the container.

eliax1996 commented 2 years ago

Yes, but I cannot understand what doesn't work in my machine

jorgebucaran commented 2 years ago

Let's have a look at your config.fish. Can you copy-paste it here? Perhaps something in it causes Fisher to block.

eliax1996 commented 2 years ago

I don't think can be that, but here's my config file:

set -x LANG en_US.UTF-8

[ -f /usr/local/share/autojump/autojump.fish ];
source /opt/homebrew/share/autojump/autojump.fish

if status is-interactive
    # Commands to run in interactive sessions can go here
end
jorgebucaran commented 2 years ago

Did you try commenting out source /opt/homebrew/share/autojump/autojump.fish? And if not, could you?

eliax1996 commented 2 years ago

I'll try right now and update you

eliax1996 commented 2 years ago

nope, commented, saved, opened another session and the result is always the same.

jorgebucaran commented 2 years ago

What terminal are you using? Do you also happen to have any Fish scripts running in the background?

eliax1996 commented 2 years ago

I use iTerm2 3.4.13 (OS 10.14+), regarding the background running script the output of the ps command is the following:

@ ps -A | grep fish
36470 ttys001    0:00.03 fish (figterm)
36473 ttys002    0:00.12 /opt/homebrew/Cellar/fish/3.3.1/bin/fish --login
36543 ttys002    0:00.00 grep --color=auto fish
willrogers commented 2 years ago

Might it be fig? I am also running fig.

eliax1996 commented 2 years ago

No, tried to kill fig and install it again but the problem is present even if fig isn’t running On 29 Nov 2021, 15:50 +0100, Will Rogers @.***>, wrote:

Might it be fig? I am also running fig. β€” You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

jorgebucaran commented 2 years ago

Could you try again on macOS Terminal?

eliax1996 commented 2 years ago

Tried right now, always the same, locked on:

@ curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
fisher install version 4.3.0
Fetching https://codeload.github.com/jorgebucaran/fisher/tar.gz/HEAD
jorgebucaran commented 2 years ago

Sorry, I'm out of ideas.

eliax1996 commented 2 years ago

Ahahah mee too. Do you want that I close the issue or we leave it open until someone will (maybe) realise how to fix it? On 29 Nov 2021, 18:34 +0100, Jorge Bucaran @.***>, wrote:

Sorry, I'm out of ideas. β€” You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

jorgebucaran commented 2 years ago

Let's leave it open then! πŸ‘

willrogers commented 2 years ago

I just uninstalled fig and then fisher works as expected.

jorgebucaran commented 2 years ago

What is Fig?

willrogers commented 2 years ago

https://fig.io/

jorgebucaran commented 2 years ago

In order to use Fig with Fish, do you need to add anything to your config.fish or anywhere else?

willrogers commented 2 years ago

I reinstalled Fig. It does not seem to have modified my Fish configuration files in my home directory.

fisher update is blocking again.

I will uninstall Fig again, I don't seem to get much benefit from it.

jorgebucaran commented 2 years ago

I'll give Fig a try and see if I can find out what's going on.

roddc commented 2 years ago

I am having the same problem, curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher just hanged there

jorgebucaran commented 2 years ago

Are you using Fig too?

roddc commented 2 years ago

Are you using Fig too?

No, I just installed Fish shell

jorgebucaran commented 2 years ago

Can you reproduce the issue inside a container?

eliax1996 commented 2 years ago

Try to launch in local the instructions that I have written up they contain the source of the Docker image and how to launch it to verify if the installer works well

dideler commented 2 years ago

So I just ran into this as well. Installed fig a few days ago. First noticed issues with fish in the VSCode terminal after installing fig, a newly opened terminal would not have a clean prompt. Then with fish-spin, the spin "sleep 1" command would give me an infinite spinner with a hanging process in the background. Then with fisher update which would silently hang.

Uninstalled fig after seeing @willrogers's comment and everything works again :)

eliax1996 commented 2 years ago

I tried again and now the script works, maybe a fix has been developed

jorgebucaran commented 2 years ago

It seems like this has been fixed upstream! πŸŽ‰