Skip to content
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

Make dependencies installation more straightforward #512

Closed
danhper opened this issue Apr 11, 2019 · 2 comments · Fixed by #757
Closed

Make dependencies installation more straightforward #512

danhper opened this issue Apr 11, 2019 · 2 comments · Fixed by #757
Milestone

Comments

@danhper
Copy link
Member

danhper commented Apr 11, 2019

As discussed a little in #511, it is not always easy to get all the dependencies right for a plugin.

Although I have been using asdf and asdf-python for a while, I often forget to install tk or sqlite dev libraries before compiling Python and find myself having to recompile it later on.

I think this process could be improved, although I am not really sure how yet.
I agree with @Stratus3D that dependencies should be part of the plugin rather than asdf core.

Here are the main difficulties I can think about

  • We have tons of plugins, so dependencies must be maintained at the plugin level
  • Too many different platforms, so it is not reasonable to hope that every plugin maintainer will maintain a list as comprehensive as the one found in pyenv deps page. I do think it is fine if we focus on the most popular platforms though (macOS and Ubuntu?)
  • Many plugins will have optional dependencies. For example asdf-erlang
  • Some plugins dependencies may, or may not, be handled by system package managers. For example, in the case of adsf-elixir, some people might want to install Erlang through their package manager while others might want to do so with asdf.

Most of these are not major blockers but things that I think we should at least consider if we are going to try to do something about this issue.

@jthegedus
Copy link
Contributor

On this topic and in case other find this useful, my plugins (eg asdf-gcloud) have a check_dependencies function that loops over a text file of my dependencies and runs command -v for each. On plugin add it warns of missing dependencies. On install it exits if there are missing dependencies.

The main motivation was to stop failures on installation leaving a bad state, though I think this can be a better way for people to find the dependencies than what is usually a partial list in the README.

Originally posted by @jthegedus in #511 (comment)

@Stratus3D
Copy link
Member

Interested in everyone's input on the specification I wrote for the plugin bin/documentation callback in my open PR - #757.

@jthegedus jthegedus added this to the v0.8.x milestone Aug 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants