-
Notifications
You must be signed in to change notification settings - Fork 27
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
Implements gel env command #73
base: main
Are you sure you want to change the base?
Conversation
prints information in markdown format to the terminal, for people can use this to report bugs. prints gel environment prints user environment prints ruby environment prints relevant files: Gemfile, Gemfile.lock, and gemspec
Using reject because Ruby 2.3 has no Hash#compact
I'd like to consider omitting the "relevant files" section... or maybe relegate it to a I see the advantage in having a single command to use for support requests ("please run this, paste us the result")... but personally I've used Also, does Bundler include those server auth details here? That seems to go against the idea of it being something people can paste for debugging. 😕 |
Sounds good 👍 We can add an issue template that advice people when reporting for bugs, run
Yes 😰
Output of `bundle env`Warning: the running version of Bundler (1.17.3) is older than the version that created the lockfile (1.999). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`. ## Environment
Bundler Build Metadata
Bundler settings
GemfileGemfilesource "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# Specify your gem's dependencies in gel.gemspec
gemspec
gem "rake", "~> 12.0"
gem "minitest", "~> 5.0"
gem "mocha"
gem "webmock"
gem "ronn", platform: :ruby Gemfile.lock
Gemspecsgel.gemspec# frozen_string_literal: true
require_relative "lib/gel/version"
Gem::Specification.new do |spec|
spec.name = "gel"
spec.version = Gel::VERSION
spec.authors = ["Gel Authors"]
spec.email = ["[email protected]"]
spec.summary = "A modern gem manager"
spec.homepage = "https://gel.dev"
spec.license = "MIT"
spec.files = `git ls-files -z exe lib *.md *.txt`.split("\x0") +
Dir["man/man?/*.?"]
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.add_development_dependency "pub_grub", ">= 0.5.0"
end
Output of `gel env`Gel
User
Ruby
I also worry people will paste their token when opening an issue 😓 Issue template can also warn them to redact their credentials. Should we ignore the config file from relevant files?
Is there any common ENV, path you always look at for debugging that is missing from current |
gel env
prints the information in markdown format for debugging,gel env --full
for people to report bugs.ENV
or built-in constant, I probably miss a lot of things, will investigate and add moreEtc
is cross-platform compatible and not rely onENV['HOME']
to be setgel env
will print the following markdown:Example
gel env
outputGel
GEL_VERSION
:0.3.0
User
SHELL
:/bin/zsh
Ruby
GEM_HOME
:/Users/juanitofatas/.gem/ruby/2.6.1
GEM_PATH
:/Users/juanitofatas/.gem/ruby/2.6.1:/opt/rubies/2.6.1/lib/ruby/gems/2.6.0
GEM_ROOT
:/opt/rubies/2.6.1/lib/ruby/gems/2.6.0
RUBY_ENGINE
:ruby
RUBY_ENGINE_VERSION
:2.6.1
RUBY_ROOT
:/opt/rubies/2.6.1
RUBY_VERSION
:2.6.1
./exe/gel env
bin/rake