Rbenv неверный путь установки драгоценного камня - не могу найти драгоценный камень - PullRequest
0 голосов
/ 13 февраля 2020

У меня проблема с rbenv, и я считаю, что проблема заключается в require попытке чтения из моих системных гемов, а не из прокладок.

Я пытаюсь создать один скрипт файл без необходимости в комплектации - хотя я пытался добавить Gemfile и поместил скрипт и Gemfile в один каталог.

Воспроизводимые шаги:

  1. brew install rbenv
  2. export PATH="$HOME/.rbenv/bin:$PATH" в моем .zshrc
  3. Добавьте eval "$(rbenv init -)" в мой .zshrc
  4. Источник: . ~/.zshrc
  5. rbenv install 2.6.3
  6. rbenv rehash
  7. rbenv global 2.6.3
  8. rbenv rehash для краткости
  9. Закрыть терминал
  10. Новый терминал:
    • ruby -v = "ruby 2.6.3p62"
    • rbenv version = "2.6.3 (устанавливается $ HOME / Desktop /.ruby -version)"
  11. which ruby = "$ HOME / .rbenv / shims / ruby"
  12. gem env
    • КАТАЛОГ УСТАНОВКИ: $ HOME / .rbenv / версии / 2.6.3 / lib / ruby ​​/ gems / 2.6.0
    • КАТАЛОГ УСТАНОВКИ ПОЛЬЗОВАТЕЛЯ: $ HOME / .gem / ruby ​​/ 2.6.0
    • RUBY EXECUTABLE: $ HOME / .rbenv / v ersions / 2.6.3 / bin / ruby
    • ИСПОЛНЯЕМЫЙ КАТАЛОГ: $ HOME / .rbenv / версии / 2.6.3 / bin
    • SPE C КЭШ-КАТАЛОГ: $ HOME /. gem / spec
    • СПРАВОЧНИК КОНФИГУРАЦИИ СИСТЕМЫ: $ HOME / .rbenv / версии / 2.6.3 / et c
    • Платформы RUBYGEMS:
      • ruby
      • x86_64-darwin-18
    • ПУТИ ДЖЕМ:
      • $ HOME / .rbenv / версии / 2.6.3 / lib / ruby ​​/ gems / 2.6.0
      • $ HOME / .gem / ruby ​​/ 2.6.0
  13. gem install colorize - этот камень, кажется, работает нормально
  14. gem install httparty
  15. gem install pry
  16. Заголовок файла:

    #!/usr/bin/ruby
    
    require 'httparty'
    require 'colorize'
    require 'pry'
    
  17. ./file.rb
  18. Трассировка стека для HTTParty
    /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in 'to_specs': Could not find 'multi_xml' (>= 0.5.2) among 17 total gem(s) (Gem::LoadError)
    Checked in 'GEM_PATH=$HOME/.gem/ruby/2.3.0:/Library/Ruby/Gems/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0', execute `gem env` for more information
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/specification.rb:1442:in `block in activate_dependencies'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/specification.rb:1431:in `each'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/specification.rb:1431:in `activate_dependencies'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/specification.rb:1413:in `activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems.rb:196:in `rescue in try_activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems.rb:193:in `try_activate'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:125:in `rescue in require'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:39:in `require'
    from ./cdw-demo.rb:3:in `<main>'
    
  19. Трассировка стека для Pry
    /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- pry (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from ./cdw-demo.rb:4:in `<main>'
    

Трассировка стека показывает, что может быть проблема в том, что multi_xml является отсутствующим гемом, но он был установлен с httparty

Список драгоценных камней: gem list

*** LOCAL GEMS ***

bigdecimal (default: 1.4.1)
bundler (2.1.4, default: 1.17.2)
cmath (default: 1.0.0)
coderay (1.1.2)
colorize (0.8.1)
csv (default: 3.0.9)
date (default: 2.0.0)
dbm (default: 1.0.0)
did_you_mean (1.3.0)
e2mmap (default: 0.1.0)
etc (default: 1.0.1)
fcntl (default: 1.0.0)
fiddle (default: 1.0.0)
fileutils (default: 1.1.0)
forwardable (default: 1.2.0)
gdbm (default: 2.0.0)
httparty (0.17.3)
io-console (default: 0.4.7)
ipaddr (default: 1.2.2)
irb (default: 1.0.0)
json (default: 2.1.0)
logger (default: 1.3.0)
matrix (default: 0.1.0)
method_source (0.9.2)
mime-types (3.3.1)
mime-types-data (3.2019.1009)
minitest (5.11.3)
multi_xml (0.6.0)
mutex_m (default: 0.1.0)
net-telnet (0.2.0)
openssl (default: 2.1.2)
ostruct (default: 0.1.0)
power_assert (1.1.3)
prime (default: 0.1.0)
pry (0.12.2)
psych (default: 3.1.0)
rake (12.3.2)
rdoc (default: 6.1.0)
rexml (default: 3.1.9)
rss (default: 0.2.7)
scanf (default: 1.0.0)
sdbm (default: 1.0.0)
shell (default: 0.7)
stringio (default: 0.0.2)
strscan (default: 1.0.0)
sync (default: 0.5.0)
test-unit (3.2.9)
thwait (default: 0.1.0)
tracer (default: 0.1.0)
webrick (default: 1.4.2)
xmlrpc (0.3.0)
zlib (default: 1.0.0)

Дайте мне знать, если потребуется дополнительная информация.

1 Ответ

1 голос
/ 14 февраля 2020

Вместо использования /usr/bin/ruby, которая установлена ​​системой Ruby, используйте hashbang

#!/usr/bin/env ruby

Это должно указывать на вашу глобальную поддержку rbenv Ruby.

...