【发布时间】:2018-01-22 04:59:12
【问题描述】:
我正在尝试在 Jenkinsfile 中运行 ruby 规范测试。
但是我在执行这段代码时遇到了问题:
sh 'rspec spec/unit/test_spec.rb'
这是错误:
/home/user/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems.rb:271:in 'find_spec_for_exe': 找不到 gem rake (>= 0.a) (Gem::GemNotFoundException) 来自 /home/user/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems.rb:299:in 'activate_bin_path' 来自 /home/user/.rvm/gems/ruby-2.4.0@global/bin/rake:23:in '' 来自 /home/user/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in eval' 来自/home/user/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in ''
我在 EC2 实例上运行 Jenkins。 gem rspec-core 肯定已安装,因为我在运行规范测试之前进行了捆绑安装。我还运行了与实例本身而不是 Jenkins 完全相同的测试,并且它可以工作。
当我在 Jenkins 上运行 gem which rspec 时,它给了我这个错误:
错误:找不到 ruby 库文件或共享库 rspec
但是当我在实例上运行它时,它返回/home/user/.rvm/gems/ruby-2.4.0@global/gems/rspec-3.6.0/lib/rspec.rb
两者都使用全局 gemset。 可能是什么问题?
【问题讨论】: