我有一个ruby项目,我一直在使用ruby 1.9.3到rvm在我的mac上开发。 今天我大部分时间都在设置构建服务器来运行我的测试,因为我检查了对repo的更改。我的服务器运行Ubuntu。我安装了rvm并使用了1.9.3。
但是现在我尝试使用
运行我的rspec测试时出现加载错误bundle exec rspec
这适用于我的Mac,我无法弄清楚为什么它不能在我的Linux机器上运行。
morten@Lux:/var/lib/jenkins/jobs/getdone/workspace$ bundle exec rspec
/var/lib/jenkins/jobs/getdone/workspace/spec/lib/commandExecutor_spec.rb:1:in `require': cannot load such file -- CommandsExecutor (LoadError)
from /var/lib/jenkins/jobs/getdone/workspace/spec/lib/commandExecutor_spec.rb:1:in `<top (required)>'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `load'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `block in load_spec_files'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `each'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/configuration.rb:789:in `load_spec_files'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:22:in `run'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:80:in `run'
from /home/morten/.rvm/gems/ruby-1.9.3-p374/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:17:in `block in autorun'
需求行刚刚说
require 'CommandsExecutor'
并且commandsExector.rb位于我的lib目录中。
答案 0 :(得分:2)
OS X'文件系统默认情况下不区分大小写,而Linux文件系统通常区分大小写。您说该文件名为commandExecutor.rb
,因此要求的正确方法是
require 'commandExecutor'
PS:作为旁注,在Ruby(以及大多数其他编程语言)的文件名中不使用大写字母是常见的约定,C#和Java是一些显着的排除。