oh-my-fish / plugin-brew

Oh My Fish plugin to integrate Homebrew paths into shell.
MIT License
16 stars 11 forks source link

Installing `brew` and `vcs` at the same time causes weird issues #17

Open doughsay opened 1 year ago

doughsay commented 1 year ago

I'm not totally sure which package is at fault here, but I'll start with reporting it here.

I'm on a brand new M1, macOS 12.3. I installed homebrew using bash with the official copy-paste command from the website. I then installed fish and set it as my default shell. I then installed omf using the official copy-paste command.

Then I installed vcs: omf install vcs. It works, I can test the functions it provides. Then I installed brew: omf install brew. Now when I launch a new terminal I get these:

source: Error encountered while sourcing file '/Users/cdose/.local/share/omf/pkg/brew/functions/git/vcs.git.present.fish':
source: No such file or directory
source: Error encountered while sourcing file '/Users/cdose/.local/share/omf/pkg/brew/functions/hg/vcs.hg.present.fish':
source: No such file or directory
source: Error encountered while sourcing file '/Users/cdose/.local/share/omf/pkg/brew/functions/svn/vcs.svn.present.fish':
source: No such file or directory
fish: Unknown command: vcs.git.present
~/.local/share/omf/pkg/vcs/functions/vcs.name.fish (line 1):
vcs.git.present
^
in function 'vcs.name'
    called on line 1 of file ~/.local/share/omf/pkg/vcs/conf.d/plugin-vcs.fish
in command substitution
    called on line 12 of file ~/.local/share/omf/pkg/vcs/conf.d/plugin-vcs.fish
in function 'vcs.refresh'
    called on line 21 of file ~/.local/share/omf/pkg/vcs/conf.d/plugin-vcs.fish
from sourcing file ~/.local/share/omf/pkg/vcs/conf.d/plugin-vcs.fish
    called during startup
in function 'require' with arguments '--path /Users/cdose/.local/share/omf/pkg/brew /Users/cdose/.local/share/omf/pkg/fish-spec /Users/cdose/.local/share/omf/pkg/omf /Users/cdose/.local/share/omf/pkg/vcs'
    called on line 24 of file ~/.local/share/omf/init.fish
from sourcing file ~/.local/share/omf/init.fish
    called on line 7 of file ~/.config/fish/conf.d/omf.fish
from sourcing file ~/.config/fish/conf.d/omf.fish
    called on line 246 of file /opt/homebrew/Cellar/fish/3.5.1/share/fish/config.fish
from sourcing file /opt/homebrew/Cellar/fish/3.5.1/share/fish/config.fish
    called during startup

and a lot more lines.

As you can see it's attempting to source the vcs package files from the folder .local/share/omf/pkg/brew, which is obviously the wrong folder (it's the brew package's folder, not the vcs package's folder). I'm not enough of a fish or omf expert to really know what's going on here, but it seems one of either the brew or vcs package is messing up something with their paths.

Can someone else confirm that this happens on a clean install? I don't think I've done anything crazy here, it's a very fresh install on a brand new laptop.

derekstavis commented 1 year ago

@scorphus do you think this could have anything to do with your recent change modernizing the plugin initialization in vcs?

scorphus commented 1 year ago

@scorphus do you think this could have anything to do with your recent change modernizing the plugin initialization in vcs?

Possibly.

This happens not only with the brew plugin, but with most any other too — e.g. aws.

The fix is on its way.