当我尝试运行Cucumber-Ruby测试时,我得到'Gem :: LoadError:无法激活jwt(〜> 0.1.4),已激活jwt-1.0.0。'错误。我在Gemfile.lock上有以下条目
jwt (1.0.0)
...
signet (0.4.5)
addressable (>= 2.2.3)
faraday (~> 0.8.1)
jwt (>= 0.1.5)
multi_json (>= 1.0.0)
我已经安装了jwt-1.0.0。任何想法如何解决这个问题?非常感谢!
答案 0 :(得分:1)
Signet gem(对我而言,被称为Google API客户端的依赖项)非常顽皮,并在其Gemspec之外指定JWT gem版本。
# in lib/signet/oauth_2/client.rb line 25
gem 'jwt', '~> 0.1.4'
require 'jwt'
在Gemfile中使用Github版本的Signet gem,删除了此恶意电话。
gem 'signet', git: "https://github.com/google/signet.git"
答案 1 :(得分:0)
尝试在Gemfile中显式回滚jwt,如下所示:
gem 'jwt', '~> 0.1.13'
我遇到了与google-api-client相似的问题,而不是signet:当google-api-client Gemfile说jwt (>= 0.1.5)
并且Gemfile.lock可能应该关注时,Gemfile.lock有'jwt', '~> 0.1.5'
那。上面的Gemfile更改确保jwt确实是~> 0.1.5
并且没有达到1. *。