Почему я не могу получить доступ к gem на github в своем приложении? - PullRequest
0 голосов
/ 25 января 2020

Я не могу получить доступ к своему гему на github в моем приложении.

В каталоге локального репозитория "check":

  1. my@pc:/check$ установка / обновление комплекта
  2. my@pc:/check$ экзамен по комплектации

    • экзамен (0.1.0 e21d9f9)
      Резюме : Просто пример
      Домашняя страница: https://github.com/
      Путь: /home/.rvm/gems/ruby-2.6.3@check/bundler/gems/exam-e21d9f936578
  3. my@pc:/check$ ruby runner.rb

    Traceback (most recent call last):
    2: from runner.rb:1:in '<main>'
    1: from /usr/share/rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in 'require'
    /usr/share/rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in **'require': cannot load such file -- exam (LoadError)**

  4. драгоценный камень, который экзамен

ERROR: Can't find Ruby library file or shared library exam
Во время процесса путь установки пакета был добавлен в $ LOAD_PATH, но затем когда я открываю $ LOAD_PATH через irb, этот путь там отсутствует

**gem env**
RubyGems Environment:
  - RUBYGEMS VERSION: 3.1.2
  - RUBY VERSION: 2.6.3 (2019-04-16 patchlevel 62) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/pc/.rvm/gems/ruby-2.6.3@check
  - USER INSTALLATION DIRECTORY: /home/pc/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /usr/share/rvm/rubies/ruby-2.6.3/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /home/pc/.rvm/gems/ruby-2.6.3@check/bin
  - SPEC CACHE DIRECTORY: /home/pc/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/pc/.rvm/gems/ruby-2.6.3@check
     - /home/pc/.rvm/gems/ruby-2.6.3@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/pc/.rvm/gems/ruby-2.6.3@check/bin
     - /home/pc/.rvm/gems/ruby-2.6.3@global/bin
     - /usr/share/rvm/rubies/ruby-2.6.3/bin
     - /usr/share/rvm/bin`

1 Ответ

0 голосов
/ 27 января 2020

Вам нужно будет активировать Bundler, чтобы он мог добавить ваш камень для экзамена в путь загрузки. Вы можете выполнить код с помощью bundle exec:

$ bundle exec ruby runner.rb
Hola from gem

или добавить require 'bundler/setup' в runner.rb перед загрузкой 'exam':

require 'bundler/setup'
require 'exam'

# Console.new.run
Game.greeting
ruby runner.rb
Hola from gem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...