Skip to content

Set default_cli_command to cli_help by default #8786

@deivid-rodriguez

Description

@deivid-rodriguez

I forgot to open an issue for this Bundler 4 change.

In Bundler 4, the default when running just bundle changes from running bundle install to displaying usage help, like this:

$ bundle
Bundler version 4.0.0 (1980-01-02 commit 51a9438cf95)

Bundler commands:

  Primary commands:
    bundle install [OPTIONS]    # Install the current environment to the system
    bundle update [OPTIONS]     # Update the current environment
    bundle cache [OPTIONS]      # Locks and then caches all of the gems into vendor/cache
    bundle exec [OPTIONS]       # Run the command in context of the bundle
    bundle config NAME [VALUE]  # Retrieve or set a configuration value
    bundle help [COMMAND]       # Describe available commands or one specific command

  Utilities:
    bundle add GEM VERSION         # Add gem to Gemfile and run bundle install
    bundle binstubs GEM [OPTIONS]  # Install the binstubs of the listed gem
    bundle check [OPTIONS]         # Checks if the dependencies listed in Gemfile are satisfied by currently installed gems
    bundle console [GROUP]         # Opens an IRB session with the bundle pre-loaded
    bundle doctor [OPTIONS]        # Checks the bundle for common problems
    bundle env                     # Print information about the environment Bundler is running under
    bundle fund [OPTIONS]          # Lists information about gems seeking funding assistance
    bundle gem NAME [OPTIONS]      # Creates a skeleton for creating a rubygem
    bundle info GEM [OPTIONS]      # Show information for the given gem
    bundle init [OPTIONS]          # Generates a Gemfile into the current working directory
    bundle issue                   # Learn how to report an issue in Bundler
    bundle licenses                # Prints the license of all gems in the bundle
    bundle list                    # List all gems in the bundle
    bundle lock                    # Creates a lockfile without installing
    bundle open GEM                # Opens the source directory of the given bundled gem
    bundle outdated GEM [OPTIONS]  # List installed gems with newer versions available
    bundle platform [OPTIONS]      # Displays platform compatibility information
    bundle plugin                  # Manage the bundler plugins
    bundle pristine [GEMS...]      # Restores installed gems to pristine condition
    bundle remove [GEM [GEM ...]]  # Removes gems from the Gemfile
    bundle show GEM [OPTIONS]      # Shows all gems that are part of the bundle, or the path to a given gem
    bundle version                 # Prints Bundler version information

Options:
      [--no-color]                                   # Disable colorization in output
  -r, [--retry=NUM]                                  # Specify the number of times you wish to attempt network commands
  -V, [--verbose], [--no-verbose], [--skip-verbose]  # Enable verbose output mode

We need to decide whether we actually want to change this.

Pros:

  • More beginner friendly.

Cons:

  • Will annoy long term users who are used to the bundle shortcut to run install.

Overall I think it's a good change, but experienced users will probably want to keep it as is.

So we should probably officially document the setting (it's the only undocumented feature flag), so users can go back to current behavior if they want to.

In addition to this, I saw several issues with this setting:

  • It uses "plain thor help" over our "enhanced man based help".
  • It says 1980-01-02 in the first line? 🤔
  • It crashes when run with the dbundle alias recommended for developing Bundler.

I'll look into these issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions