问题
I'm following codeschool's class on rspec. Installing worked fine. I made a file called rspec-zombie for the project. Fine. But when I tried rspec --init in powershell, I got an unholy error message. I'm under the impression there are supposed to be some files made inside the directory, which aren't there. It follows.
C:\Users\Roman\The-Odin-Project\rspec-zombie> rspec --init
create .rspec
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-support-3.1.0/lib/rspec/support/directory_maker.rb:17:in `mkd
ir': Invalid argument - ./C: (Errno::EINVAL)
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-support-3.1.0/lib/rspec/support/directory_maker.
rb:17:in `block in mkdir_p'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-support-3.1.0/lib/rspec/support/directory_maker.
rb:13:in `each'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-support-3.1.0/lib/rspec/support/directory_maker.
rb:13:in `mkdir_p'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/project_initializer.rb
:33:in `copy_template'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/project_initializer.rb
:22:in `run'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/option_parser.rb:81:in
`block (2 levels) in parser'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1360:in `call'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1360:in `block in parse_in_order'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1347:in `catch'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1347:in `parse_in_order'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1341:in `order!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1432:in `permute!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/optparse.rb:1453:in `parse!'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/option_parser.rb:16:in
`parse'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/option_parser.rb:8:in
`parse'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/configuration_options.
rb:120:in `command_line_options'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/configuration_options.
rb:154:in `custom_options_file'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/configuration_options.
rb:112:in `file_options'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/configuration_options.
rb:44:in `organize_options'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/configuration_options.
rb:14:in `initialize'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/runner.rb:58:in `new'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/runner.rb:58:in `run'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/lib/rspec/core/runner.rb:37:in `invok
e'
from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.1.3/exe/rspec:4:in `<top (required)>'
from C:/RailsInstaller/Ruby1.9.3/bin/rspec:23:in `load'
from C:/RailsInstaller/Ruby1.9.3/bin/rspec:23:in `<main>'
回答1:
Here's how I finally fixed this crap:
gem uninstall rspec
gem uninstall rspec-core rspec-expectations rspec-mocks rspec-support
gem install rspec -v 2.14.1
Basically, newer versions of rspec are broken on Windows. Don't use them. Do this and rspec works just fine.
回答2:
This is a windows regression in RSpec 3.1 that we are working on:
https://github.com/rspec/rspec-support/issues/107https://github.com/rspec/rspec-support/pull/109
Above issues were fixed.
来源:https://stackoverflow.com/questions/25858155/rspec-init-not-working-mkd-ir-invalid-argument-c-errnoeinval