rspec --init not working/ `mkd ir': Invalid argument - ./C: (Errno::EINVAL)

别说谁变了你拦得住时间么 提交于 2019-12-17 20:55:24

问题


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/107
  • https://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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!