-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fisher update not install plugin but remove fish_plugins file #790
Comments
Hmm, I really can't help without more info. Maybe share your entire configuration and sync strategy, maybe in a Docker image or a repository. |
extract to fish/ then run |
Could you share the contents here instead? |
sure. fish_plugins file
and install fisher |
Is that what's in your gzipped tar file? What I need is your complete configuration and sync setup. Without it, reproducing your state won't be possible anytime soon. |
|
The only file I'd put in my dot files would be fish_plugins, similar to how you wouldn't sync node_modules. |
I dont understand, I'm wrong? |
I saw you're committing all Fish files in your repo, including plugins likely installed with Fisher. In that case, what would be the purpose of fish_plugins? This file serves as a manifest of your plugins and should be enough for syncing across different machines. You'd simply use |
Does
sometime my network is offline, so I need to sync plugin file at first. but why fisher delete fish_plugins when I run |
Thanks for the clarification. You're right, it's |
Yes, Fisher will delete fish_plugins, but only if it's empty. For example, if you remove all plugins from fish_plugins and then run Lines 210 to 213 in 2efd33c
|
but my |
My approach to test this:
This process should make sure that B is updated to match A, which is how Fisher is supposed to work. |
oh, I found reason
|
Is those variable necessary? I think |
The approach I outlined above should do for a basic setup. For example, if you uninstall all your plugins, start from scratch, create a fish_plugins file, add several plugins to it, and then run fisher update, Fisher should install those plugins. But if this isn't enough for you, how about committing your fish_variables in addition to your fish_plugins. |
fish_variables is platform special. I sync all my conf across different platform, linux/mac, so fish_variables isn't suitable for my case if I sync it, which make linux variable sync to windows, broken |
from my test, If target machine don't have fisher special variable in |
Fisher cleans and variables before saving or reading from fish_variables to prevent some basic issues, e.g.: Line 141 in 2efd33c
...but I don't know about Windows. |
What I did: I made sure there were no Fisher variables in fish_variables, uninstalled everything Fisher-related, created an empty fish_plugins file, added some plugins, thus replicating a machine without Fisher but with my fish_plugins file. Then, |
you should exit fish, and reopen a new fresh fish instance, make sure there not |
I did that and succeeded. Did that not work for you? |
rm -rf ~/.config/fish
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
rm ~/.config/fish/fish_variables
# let fish exit now
# open a new fish shell
# make sure no value output
echo $_fisher_plugins
# run fisher update, fish_plugins file should be deleted
fisher update
|
To clarify, did this work out for you? |
no, it's bug reproduce step. |
Sorry for the long silence and thanks for the script. I haven't been able to repro the issue yet, but I'll try to dig into it again soon. 👍 |
I'm also experiencing the same issue.
I agree, it doesn't look really useful, since it's just an exact copy of |
Do you sync your Fish config across different machines using Git? I know some people use Fisher for that, and Fisher makes it easy, but I still don't understand how you ran into this issue. |
I ran into the same issue! My dotfiles include the To reproduce you can try removing all the fisher variables from the I expected It would be awesome if there were a way to force an install/update, like |
I'll echo @mercxry. I'm currently working through the same issues described above. I'm new to Fisher, but I expected a fisher: Cannot install "jorgebucaran/fisher": please remove or move conflicting files first:
/home/josh/.config/fish/completions/fisher.fish I would also like to avoid keeping I was able to bootstrap the new system by removing the conflicting files, running I suppose another approach would be to allow fisher to manage all content in |
Yes, all the config directory is under git for me |
I sync fish config across machine by git.
But on another machine I run
fisher update
, fisher just deletefish_plugins
The text was updated successfully, but these errors were encountered: