jdx / mise

dev tools, env vars, task runner
https://mise.jdx.dev
MIT License
8.03k stars 210 forks source link

Enhance Installation Process with Prompts for Required System Libraries for Ruby and Python #2298

Open alakameljebali opened 2 weeks ago

alakameljebali commented 2 weeks ago

Firstly, I want to express my appreciation for the excellent work on Mise. It's a powerful tool that significantly improves the developer experience by managing multiple languages and tools seamlessly.

However, I've encountered some challenges while installing Ruby and Python. Although ruby-build and python-build are shipped with Mise, these installers often require additional system libraries that are not installed by default. This dependency on system libraries can lead to confusion and additional manual steps for users, which somewhat diminishes the streamlined experience Mise aims to provide.

Proposed Enhancements:

  1. Automated Checks and Prompts:

    • During the installation of Ruby and Python, Mise could automatically check for the presence of necessary system libraries.
    • If any libraries are missing, Mise would prompt the user with clear instructions on how to install these libraries, including the exact commands needed for different operating systems (e.g., apt-get for Debian-based systems, yum for Red Hat-based systems, brew for macOS).
  2. Documentation Update:

    • Updating the documentation to include a detailed section on common system library dependencies for Ruby and Python installations.
    • This section should provide a comprehensive list of required libraries and step-by-step installation guides.
  3. Pre-Installation Script:

    • Implement a pre-installation script that users can run to check for all necessary dependencies before initiating the Ruby or Python installation.
    • This script would highlight any missing libraries and provide instructions for their installation.

Benefits:

Implementing these features would greatly enhance the user experience by reducing the manual steps required and ensuring a smoother installation process for Ruby and Python. It would also make Mise more beginner-friendly and accessible to a wider audience.

Additional Context:

If more detailed information or assistance is required for implementing these enhancements, I would be happy to contribute or provide further insights.

Thank you for considering this feature request. I'm confident that these enhancements will make Mise even more robust and user-friendly.

jdx commented 1 week ago

so you can optionally use ruby-install for ruby which does install system packages. In mise I've made a design decision to stay out of installing system packages but I would be ok with displaying better warnings about when they are missing.

alakameljebali commented 1 week ago

I understand your decision to avoid installing system packages directly. However, many users would appreciate useful messages when system libraries are missing, along with links to the required dependencies and installation instructions. This would greatly enhance the DX.