2012-04-12 51 views
0

我有一個詹金斯CI服務器當我運行以下構建腳本我得到的錯誤:找不到JSON-1.6.5在詹金斯CI

rdoc spec 

這裏是錯誤:

/usr/bin/ruby1.9.1 -S rspec spec/requests/home_spec.rb 
/home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler/spec_set.rb:88:in `block in materialize': Could not find json-1.6.5 in any of the sources (Bundler::GemNotFound) 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler/spec_set.rb:82:in `map!' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler/spec_set.rb:82:in `materialize' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler/definition.rb:90:in `specs' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler/definition.rb:135:in `specs_for' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler/runtime.rb:11:in `setup' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler.rb:117:in `setup' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.21/lib/bundler.rb:122:in `require' 
    from /var/lib/jenkins/jobs/App1/workspace/config/boot.rb:10:in `<top (required)>' 
    from <internal:lib/rubygems/custom_require>:29:in `require' 
    from <internal:lib/rubygems/custom_require>:29:in `require' 
    from /var/lib/jenkins/jobs/App1/workspace/spec/spec_helper.rb:11:in `<top (required)>' 
    from <internal:lib/rubygems/custom_require>:29:in `require' 
    from <internal:lib/rubygems/custom_require>:29:in `require' 
    from /var/lib/jenkins/jobs/App1/workspace/spec/requests/home_spec.rb:1:in `<top (required)>' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run' 
    from /home/zeck/.rvm/gems/ruby-1.9.3-p0/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun' 
rake aborted! 

這裏是我的Rakefile:

require 'rdoc/task' 
require 'rspec/core/rake_task' 

desc 'Generate test result' 
RSpec::Core::RakeTask.new(:spec) do |t| 
    t.pattern = 'spec/*/*_spec.rb' 
end 

這裏是我的Gemfile:

source :rubygems 

# Required gems 
gem 'sinatra', '>= 1.3.2' 
gem 'rdoc', '>= 3.12' 
gem 'rake' 
gem 'json', '>= 1.6.5' 

group :test do 
    gem 'rspec', '>= 2.9.0' 
    gem 'rack-test' 
    gem 'simplecov', '>= 0.6.1', require: false 
end 

我不知道。請幫幫我。我在RVM中使用了Ruby 1.9.3。

謝謝你的每一個建議。對不起英語:)

回答

1

可能原因是詹金斯運行你的構建的環境與運行構建的環境不同。

通常差異是由被設置爲你而不是詹金斯

您可以通過運行命令env檢查你的環境變量,環境變量引起的。您可以在Manage Jenkins中查看Jenkins的環境 - >系統信息。

如果您需要設置一些環境變量,您可以在Manage Jenkins - > Configure System中進行設置。

+0

謝謝。它的工作.... – Zeck 2012-04-14 02:21:43