A command-line tool for managing Ruby gem environments by dynamically switching $GEM_HOME directories.
gem_home is a command-line utility for Ruby developers that dynamically changes the `$GEM_HOME` environment variable to switch between different gem installation directories. It solves the problem of gem conflicts by allowing project-specific gem isolation while maintaining compatibility with Ruby version managers like RVM and chruby.
Ruby developers who work on multiple projects with different gem dependencies and need to avoid conflicts between global and project-specific gems. It's particularly useful for those using RVM or chruby for Ruby version management.
Developers choose gem_home for its simplicity, minimal overhead, and seamless integration with existing Ruby workflows. Unlike more complex solutions, it focuses solely on environment switching without requiring changes to bundler or Ruby itself.
A tool for changing your $GEM_HOME
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With approximately 90 lines of code, it has minimal overhead and is easy to audit or modify, as highlighted in the README.
Seamlessly integrates with RVM and chruby, allowing it to fit into existing Ruby version management workflows without conflicts.
Compartmentalizes gems into .gem directories per project, preventing version conflicts and enabling clean dependency separation, as demonstrated in the synopsis.
Prepends the project's gem bin directory to $PATH, eliminating the need for 'bundle exec' when running bundler-installed executables, as shown in the examples.
Only supports bash and zsh, excluding other popular shells like fish, which restricts its usability in diverse development environments.
Installation involves downloading tarballs, using make, or homebrew, which is more complex than a simple gem install and may deter users.
While it complements tools like chruby, it doesn't manage Ruby versions itself, requiring additional setup for full environment management.