piotrmurach / tty

Toolkit for developing sleek command line apps.
https://ttytoolkit.org
MIT License
2.5k stars 78 forks source link

NameError: uninitialized constant TT #26

Closed iceblu3710 closed 8 years ago

iceblu3710 commented 8 years ago
[1] pry(main)> require 'rubygems'
true
[2] pry(main)> prompt = TTY::Prompt.new
NameError: uninitialized constant TTY

and in test.rb

require 'rubygems'

prompt = TTY::Prompt.new
prompt.ask('What is your name?', default: ENV['USER'
tty.rb:3:in `<main>': uninitialized constant TTY (NameError)

My setup:

[16] pry(main)> $:
[
    [ 0] "/home/uminded/.rvm/gems/ruby-2.2.1@global/gems/executable-hooks-1.3.2/lib",
    [ 1] "/home/uminded/.rvm/gems/ruby-2.2.1@global/extensions/x86_64-linux/2.2.0/executable-hooks-1.3.2",
    [ 2] "/home/uminded/.rvm/gems/ruby-2.2.1@global/gems/bundler-unload-1.0.2/lib",
    [ 3] "/home/uminded/.rvm/gems/ruby-2.2.1@global/gems/rubygems-bundler-1.4.4/lib",
    [ 4] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/bundler-1.11.2/lib",
    [ 5] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/io-console-0.4.5/lib",
    [ 6] "/home/uminded/.rvm/gems/ruby-2.2.1/extensions/x86_64-linux/2.2.0/io-console-0.4.5",
    [ 7] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/coderay-1.1.1/lib",
    [ 8] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/slop-3.6.0/lib",
    [ 9] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/method_source-0.8.2/lib",
    [10] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/pry-0.10.3/lib",
    [11] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/awesome_print-1.6.1/lib",
    [12] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-color-0.3.0/lib",
    [13] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-cursor-0.2.0/lib",
    [14] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-screen-0.5.0/lib",
    [15] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-which-0.1.0/lib",
    [16] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/unicode_utils-1.4.0/lib",
    [17] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/verse-0.4.0/lib",
    [18] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-pager-0.4.0/lib",
    [19] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-platform-0.1.0/lib",
    [20] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-progressbar-0.8.1/lib",
    [21] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/necromancer-0.3.0/lib",
    [22] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/equatable-0.5.0/lib",
    [23] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/pastel-0.6.0/lib",
    [24] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/wisper-1.6.1/lib",
    [25] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-prompt-0.4.0/lib",
    [26] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-spinner-0.1.0/lib",
    [27] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-table-0.5.0/lib",
    [28] "/home/uminded/.rvm/gems/ruby-2.2.1/gems/tty-0.4.0/lib",
    [29] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0",
    [30] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/x86_64-linux",
    [31] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby",
    [32] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/vendor_ruby/2.2.0",
    [33] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/vendor_ruby/2.2.0/x86_64-linux",
    [34] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/vendor_ruby",
    [35] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0",
    [36] "/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/x86_64-linux"
]

In test.rb

/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/x86_64-linux
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/vendor_ruby/2.2.0
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/vendor_ruby/2.2.0/x86_64-linux
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/vendor_ruby
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0
/home/uminded/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/x86_64-linux

gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.8
  - RUBY VERSION: 2.2.1 (2015-02-26 patchlevel 85) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/uminded/.rvm/gems/ruby-2.2.1
  - RUBY EXECUTABLE: /home/uminded/.rvm/rubies/ruby-2.2.1/bin/ruby
  - EXECUTABLE DIRECTORY: /home/uminded/.rvm/gems/ruby-2.2.1/bin
  - SPEC CACHE DIRECTORY: /home/uminded/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/uminded/.rvm/rubies/ruby-2.2.1/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/uminded/.rvm/gems/ruby-2.2.1
     - /home/uminded/.rvm/gems/ruby-2.2.1@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/uminded/.rvm/gems/ruby-2.2.1/bin
     - /home/uminded/.rvm/gems/ruby-2.2.1@global/bin
     - /home/uminded/.rvm/rubies/ruby-2.2.1/bin
     - /usr/local/heroku/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games
     - /home/uminded/stlink
     - /home/uminded/gcc-arm-none-eabi/bin
     - /home/uminded/.rvm/bin
piotrmurach commented 8 years ago

It's a bit confusing but rubygems allows you to manage other gems, in other words, you don't have to require it in your pry session. Depending which gems you have installed, e.i. tty or tty-prompt gem, simply require it in your session, in your case require 'tty-prompt' should do the job.

iceblu3710 commented 8 years ago

Thanks for the quick response. Was a late night and I was trying to require "TTY-Prompt" and every combination without lower case TTY....

Working great, thanks for this GEM!