-
Notifications
You must be signed in to change notification settings - Fork 786
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
Common Homebrew issues 🍻 #785
Comments
I am going to close this as it's not a new issue, but we will leave it pinned to improve visibility and direct people to the documentation site. If you identify a problem not covered here, please open a new Issue to discuss and attempt to resolve before we add it here! |
These links are all 404 at the moment, seems like most of the documentation URLs have been renamed from this scheme:
to this
|
Indeed, I was hoping to fix this before someone noticed ;) Thanks @actual-size I have fixed this here |
I added a fix here Homebrew/homebrew-core#73173 for the first issue. |
Homebrew/homebrew-core#54315 notwithstanding, a caveat that says something like
This seems to fit the requirement that caveats must be Homebrew-specific. (Indeed, this is what justifies many other similar caveats.) |
@carlocab I agree, but it was declined. Feel free to PR that change to Homebrew and open up a new discussion there. |
Are you sure? Note that the PR I linked to (Homebrew/homebrew-core#54315) proposes a different change than what I suggested. That change is a caveat linking to the documentation, which isn't considered Homebrew-specific. |
The reason for the link to the docs being proposed is because we don't just have one Homebrew specific setup. If I am on Ubuntu with Fish and using Linuxbrew, and you are on macOS with ZSH using Homebrew, how will we show the correct config for each of use. The Shell configs etc are different, something the docs is good for helping people identify with the drop-down menus. Some people are still on OXS with Bash and so it would be different again. I am hopeful of the change @seivan proposed. |
Zsh is the default shell on macOS, so those are the users who probably need the most help with configuration/are least likely to read the docs. Essentially the same instructions seem to work for bash. But, ok, up to you. Was just trying to suggest a caveat that likely would get accepted. I figured that was better than none at all. |
I am open to the suggestion and further discussion. I am only one user of My personal opinion is if we add your proposition, it may resolve the issue for the fraction of users who do not read the docs, but will definitely suggest the wrong thing (however almost correct) to another set of users. I ere on the side that we should encourage people to read the docs and become familiar with their systems. |
You're right that it'll be the right advice for some, but the wrong advice for others. However, it'll be a signal to those for whom it's the wrong advice that they should be reading the docs to get the right one. At the moment, they don't get this at all. Anyway, I'm not even an asdf user. Just a Homebrew maintainer trying to find a solution that works for us both. If you're not keen on pursuing one, then I'm happy to leave this be. |
I am very keen to find a solution and happy to have your input. |
Great. I should mention that this is just my personal opinion, so another maintainer may disagree (but I hope not), but I think a caveat that looks like this would be acceptable in Homebrew:
It may not cover everything, but it covers enough information to be useful to (I think) the vast majority of your users. And, as mentioned, it's a signal that there's more configuration needed, so it may help in preventing duplicate issues from being opened. |
@carlocab That solution looks fine to me. Is |
Do you want to open a PR? It'll be easier to merge if I don't open one. |
I would like to soon, time permitting. |
I don't understand why that is still a discussion, the current installation of Homebrew is broken and causes issues like this #892 because the instructions are unclear. Those instructions derive from a faulty Homebrew formula and installation. Don't ask people to source some file that modifies their Even worse the script also adds the asdf executable into their path as well, which is unnecessary, it's already there. ASDF_BIN="${ASDF_DIR}/bin"
ASDF_USER_SHIMS="${ASDF_DATA_DIR:-$HOME/.asdf}/shims"
[[ ":$PATH:" == *":${ASDF_BIN}:"* ]] && PATH="${PATH//$ASDF_BIN:/}"
[[ ":$PATH:" == *":${ASDF_USER_SHIMS}:"* ]] && PATH="${PATH//$ASDF_USER_SHIMS:/}" Whatever checks it does, doesn't seem to work, it adds it anyway. |
This would no longer be a Homebrew-specific recommendation and would be rejected as a caveat for the reasons outlined in Homebrew/homebrew-core#54315. And we would be back where we started, where users file issues because they didn't read the docs. |
I didn't say it's a caveat, I'm saying the caveat would be redundant if you fixed your installation. |
Well, you were a little unclear about what
meant exactly, as the discussion was about communicating things to users via caveats. But, fair enough, I'm happy with whatever you think works. |
@seivan I think @carlocab proposition is a good stopgap until your proposed changes in the Homebrew installation are understood and merged. We need to flesh out the migration for the inevitable influx of Homebrew users who's setups will break and need manual intervention when they update from current Homebrew to your proposed update. I understand you have written about some of these (I am yet to re-read all the discussion on the PR and fully understand), but I would think we would need to update our docs here / create an issue to capture these users when they search for answers as to why their system worked and now does not. @carlocab could we use caveats to warn users about changes from one version of the formulae to another? Is there a mechanism within Homebrew we can use to communicate this breaking change? 10k installs via Homebrew in the last 30 days isn't much on the scale of Homebrew usage, but it's a lot of users setups to break, and I would like to have something in place before the Homebrew change goes out |
Caveats aren't really meant to change regularly, so I think other maintainers may find using them to communicate breaking changes not acceptable. If it's a one-time thing, however, that might be fine. Note that the caveat would probably have to be crafted as if it were going to become a permanent fixture in the formula (as it's likely to stay there for a very long time). |
Again, it proposes something erroneous based on a faulty installation. You've had a discussion since August about how you can justify the caveat because Homebrew requires it be tied to the quirks of the package manager, when in reality its tied to the faulty installation and not Homebrew's fault. I totally see why they have that requirement, because everyone would otherwise just ship something broken and demand to shove text into the caveat to justify it.
That's most unfortunate, but it needs to be done.
I can't speak for Fish, but for Zsh and Bash it's pretty straight forward.
export PATH="$HOME/.asdf/shims:$PATH"
Could potentially skip step 2 if #893 was merged and released a new version at the same time, but I don't fully understand the consequences of that, something you I'm guessing would know better of. I took the liberty of adding Current implementation of The Homebrew upgrade will change the path, so the shims will be pointing to nothing and |
The biggest issue with the documentation is probably too obvious, but after you edit your .bash_profile (or whatever shell), you need to resource it, otherwise the installations will all fail on reshim. |
The docs currently state in the 3. install asdf section:
Is that not enough information? We could include the word "source", but this isn't the root cause of this issue IMO |
Brew just updated I had to run I know there's another topic on this where I provide a solution, but now I cannot find it 😂 , but I landed here and it's stickied so I'll leave this answer here 🤪 (maybe for myself next time & others). |
PERFECT! |
Background information and why this issue exists
Background
We regularly see issues raised by Homebrew users where the solution is a missing installation step. I believe this is due to the flow Homebrew users follow which does not include the documentation site:
asdf
asdf
and it does not workThis is understandable since few Homebrew tools require additional steps, though not considered a caveat to installing
asdf
via Homebrew and so we're unable to use the Homebrew post-install hook to direct users to the documentation site - see Homebrew/homebrew-core#54315Additionally, the
asdf
core team do not want to edit your Shell configurations with acurl | bash
install script as used in tools like ZSH or nvm. It is a choice, and it comes with pros and cons.Solution
Ideally, we would use the aforementioned post-install log from Homebrew to direct users to complete the setup via our Documentation site. Short of this, we must capture users where they end up, GitHub Issues, before they raise an issue and direct them to the documentation site.
After
brew install asdf
asdf must be added to your Shell.The documentation asdf-vm.com shows all instructions for your OS and Shell combination.
If we're missing some information or steps let us know and we'll fix ASAP, we want a smooth experience for all!
Common Homebrew Issues 🍻
These apply to macOS with Homebrew
asdf
installations.asdf help
orasdf <command>
does not work with Homebrew installationasdf
is added to shell configwith_shim_executable: command not found
afterbrew upgrade asdf
and macOS BigSur upgradeasdf
command not found: complete
asdf
plugin with Homebrew installationasdf
plugin still relies upon the Bash completions. Use the Homebrew installed completionszcompdump
andcompinit
further. Help solving the OMZSHasdf
plugin issue is welcome, with prior discussion here ohmyzsh/ohmyzsh#8837brew test <some-tool>
fails withunknown command: <asdf-installed-tool>. Perhaps you have to reshim
asdf
installed resources for Homebrew tests$HOME
duringbrew test
which breaksasdf
. Workarounds reveal a deeper issue ofasdf
dependencies likesed
not being available in thebrew test
environment. See original issue for more detailsIf you identify a problem not covered here, please open a new Issue to discuss and attempt to resolve before we add it here!
The text was updated successfully, but these errors were encountered: