Gem::Gem 未找到异常
Gem::Gem Not Found Exception
我的拉取请求在 linters 上一直失败,并出现此 Ruby gem 错误:
Run[ -f Gemfile ] && bundle --deployment
gem install --no-document rspec:'~>3.0'
shell: /bin/bash -e {0}/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/ruby/2.6.0/rubygems.rb:283:in
`find_spec_for_exe': Could not find 'bundler' (2.1.2) required by your
/home/runner/work/Telegram_Inspirational_Bot/Telegram_Inspirational_Bot/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.To install the missing version, run `gem install bundler:2.1.2`from/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/ruby/2.6.0/rubygems.rb:302:in`activate_bin_path'from/opt/hostedtoolcache/Ruby/2.6.6/x64/bin/bundle:23:in `<main>'Error: Process completed with exit code 1.
截图CI
我的客户不能运行我的应用程序
我的客户不能 运行 我的应用程序。我确定这是因为这个错误。他在发出拉取请求后收到此错误:
The error:
bundle install
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Bundler could not find compatible versions for gem "bundle exec rspec":
In Gemfile:
telegram-bot-ruby was resolved to 0.13.0, which depends on
virtus was resolved to 1.0.5, which depends on
bundle exec rspec
Could not find gem 'bundle exec rspec', which is required by gem 'virtus', in any of the sources.
我真的搞不懂这个问题,因为最初我认为这是 gem 文件中的错误。
Gem 文件:
source 'https://rubygems.org'
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'json'
gem 'net-http-persistent', '~> 2.9', '>= 2.9.4'
gem 'rubocop', '~>0.81.0'
gem 'telegram-bot-ruby'
Gem 文件锁:
GEM
remote: https://rubygems.org/
specs:
axiom-types (0.1.1)
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
thread_safe (~> 0.3, >= 0.3.1)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
equalizer (0.0.11)
faraday (1.1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
ice_nine (0.11.2)
inflecto (0.0.2)
json (2.3.1)
multipart-post (2.1.1)
net-http-persistent (2.9.4)
ruby2_keywords (0.0.2)
telegram-bot-ruby (0.13.0)
faraday
inflecto
virtus
thread_safe (0.3.6)
virtus (1.0.5)
axiom-types (~> 0.1)
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
equalizer (~> 0.0, >= 0.0.9)
PLATFORMS
ruby
DEPENDENCIES
json
net-http-persistent (~> 2.9, >= 2.9.4)
telegram-bot-ruby
BUNDLED WITH
2.1.4
我认为这里有两个问题。
Bundler未安装(或安装错误版本)
无论系统是什么 运行,测试 / linter(似乎是 Github 的 CI 工具)都没有安装正确版本的捆绑器。尝试添加
gem install bundler:2.1.2
调用您的测试套件的作业。
RSpec 不包含在 Gemfile
RSpec 是必需的依赖项。您似乎在测试作业中安装了 rspec,但它并未包含在您的 Gemfile 中。尝试添加
gem 'rspec'
到你的 Gemfile。
问题出在我使用的 linter.yml 上。
我的一个朋友最近通过修改 linter.yml 来自:
解决了这个问题
名称:Linters
上:pull_request
职位:
rubocop:
name: Rubocop
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Setup Rubocop
run: |
gem install --no-document rubocop:'~>0.81.0' # https://docs.rubocop.org/en/stable/installation/
[ -f .rubocop.yml ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/ruby/.rubocop.yml
- name: Rubocop Report
run: rubocop --color
收件人:
名称:测试
上:pull_request
职位:
rspec:
name: RSpec
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Setup Bundler
run: gem install bundler:2.1.4
- name: Setup RSpec
run: |
[ -f Gemfile ] && bundle --deployment
gem install --no-document rspec:'~>3.0'
- name: RSpec Report
run: rspec --force-color --format documentation
后者有效。
我的拉取请求在 linters 上一直失败,并出现此 Ruby gem 错误:
Run[ -f Gemfile ] && bundle --deployment
gem install --no-document rspec:'~>3.0'
shell: /bin/bash -e {0}/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/ruby/2.6.0/rubygems.rb:283:in
`find_spec_for_exe': Could not find 'bundler' (2.1.2) required by your
/home/runner/work/Telegram_Inspirational_Bot/Telegram_Inspirational_Bot/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.To install the missing version, run `gem install bundler:2.1.2`from/opt/hostedtoolcache/Ruby/2.6.6/x64/lib/ruby/2.6.0/rubygems.rb:302:in`activate_bin_path'from/opt/hostedtoolcache/Ruby/2.6.6/x64/bin/bundle:23:in `<main>'Error: Process completed with exit code 1.
截图CI
我的客户不能运行我的应用程序
我的客户不能 运行 我的应用程序。我确定这是因为这个错误。他在发出拉取请求后收到此错误:
The error:
bundle install
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Bundler could not find compatible versions for gem "bundle exec rspec":
In Gemfile:
telegram-bot-ruby was resolved to 0.13.0, which depends on
virtus was resolved to 1.0.5, which depends on
bundle exec rspec
Could not find gem 'bundle exec rspec', which is required by gem 'virtus', in any of the sources.
我真的搞不懂这个问题,因为最初我认为这是 gem 文件中的错误。
Gem 文件:
source 'https://rubygems.org'
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'json'
gem 'net-http-persistent', '~> 2.9', '>= 2.9.4'
gem 'rubocop', '~>0.81.0'
gem 'telegram-bot-ruby'
Gem 文件锁:
GEM
remote: https://rubygems.org/
specs:
axiom-types (0.1.1)
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
thread_safe (~> 0.3, >= 0.3.1)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
equalizer (0.0.11)
faraday (1.1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
ice_nine (0.11.2)
inflecto (0.0.2)
json (2.3.1)
multipart-post (2.1.1)
net-http-persistent (2.9.4)
ruby2_keywords (0.0.2)
telegram-bot-ruby (0.13.0)
faraday
inflecto
virtus
thread_safe (0.3.6)
virtus (1.0.5)
axiom-types (~> 0.1)
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
equalizer (~> 0.0, >= 0.0.9)
PLATFORMS
ruby
DEPENDENCIES
json
net-http-persistent (~> 2.9, >= 2.9.4)
telegram-bot-ruby
BUNDLED WITH
2.1.4
我认为这里有两个问题。
Bundler未安装(或安装错误版本)
无论系统是什么 运行,测试 / linter(似乎是 Github 的 CI 工具)都没有安装正确版本的捆绑器。尝试添加
gem install bundler:2.1.2
调用您的测试套件的作业。
RSpec 不包含在 Gemfile
RSpec 是必需的依赖项。您似乎在测试作业中安装了 rspec,但它并未包含在您的 Gemfile 中。尝试添加
gem 'rspec'
到你的 Gemfile。
问题出在我使用的 linter.yml 上。 我的一个朋友最近通过修改 linter.yml 来自:
解决了这个问题名称:Linters
上:pull_request
职位:
rubocop:
name: Rubocop
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Setup Rubocop
run: |
gem install --no-document rubocop:'~>0.81.0' # https://docs.rubocop.org/en/stable/installation/
[ -f .rubocop.yml ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/ruby/.rubocop.yml
- name: Rubocop Report
run: rubocop --color
收件人:
名称:测试
上:pull_request
职位:
rspec:
name: RSpec
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Setup Bundler
run: gem install bundler:2.1.4
- name: Setup RSpec
run: |
[ -f Gemfile ] && bundle --deployment
gem install --no-document rspec:'~>3.0'
- name: RSpec Report
run: rspec --force-color --format documentation
后者有效。