简体   繁体   English

为什么我无法在我的应用程序中访问 github 上的 gem?

[英]Why I can't access gem on github in my app?

I can't access my gem on github in my app.我无法在我的应用程序中访问我在 github 上的 gem。

In directory of "check" local repository :在“检查”本地存储库的目录中:

  1. my@pc:/check$ bundle install / update my@pc:/check$捆绑安装/更新
  2. my@pc:/check$ bundle info exam my@pc:/check$捆绑信息考试

    • exam (0.1.0 e21d9f9)考试 (0.1.0 e21d9f9)
      Summary: Just example总结:举个例子
      Homepage: https://github.com/主页: https : //github.com/
      Path: /home/.rvm/gems/ruby-2.6.3@check/bundler/gems/exam-e21d9f936578路径:/home/.rvm/gems/ruby-2.6.3@check/bundler/gems/exam-e21d9f936578
  3. my@pc:/check$ ruby runner.rb 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. gem which exam宝石哪个考试

ERROR: Can't find Ruby library file or shared library exam
During process "bundle install" path has been added to $LOAD_PATH but then when I open $LOAD_PATH over irb , this path is absent there在过程“捆绑安装”路径已添加到 $LOAD_PATH 但是当我通过 irb 打开 $LOAD_PATH 时,此路径不存在

**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`

You'll need to activate Bundler so that it can add your exam gem to the load path.您需要激活 Bundler,以便它可以将您的考试宝石添加到加载路径中。 You can either execute your code with bundle exec :您可以使用bundle exec执行代码:

$ bundle exec ruby runner.rb
Hola from gem

or add require 'bundler/setup' to runner.rb before 'exam' is loaded:或者在加载 'exam' 之前将require 'bundler/setup'添加到 runner.rb:

require 'bundler/setup'
require 'exam'

# Console.new.run
Game.greeting
ruby runner.rb
Hola from gem

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM