Я только что перешел на новый ноутбук, работающий на Win 10/ruby 2.2.2/Rails 4.2.0 (без проблем на предыдущей Win 8 ruby 2.0.0/Rails 4.2/rspec 3.2). Теперь при установке rspec
ниже странная ошибка:
$ rails g rspec:install
identical .rspec
exist spec
create spec/C:/Users/Jun C/AppData/Local/Temp/d20160219-10996-1x6hu8w/spec/spec_helper.rb
C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:252:in `mkdir': Invalid argument @ dir_s_mkdir - C:/D/code/rails_proj/engines/simple_orderx/spec/C: (Errno::EINVAL)
from C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:252:in `fu_mkdir'
from C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:226:in `block (2 levels) in mkdir_p'
from C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:224:in `reverse_each'
from C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:224:in `block in mkdir_p'
from C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:210:in `each'
from C:/Ruby22-x64/lib/ruby/2.2.0/fileutils.rb:210:in `mkdir_p'
from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:61:in `block in invoke!'
from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:116:in `call'
from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb:116:in `invoke_with_conflict_check'
from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb:60:in `invoke!'
В корневом каталоге приложения Rails есть /spec
. Файл spec-helper
должен быть сгенерирован под /spec
как /spec/spec-helper.rb
. Однако установка попыталась сгенерировать spec-helper
в spec/C:/Users/Jun C/AppData/Local/Temp/d20160219-10996-1x6hu8w/spec/
. Кажется, что путь неправильный.
Вот строка в Gemfile
:
s.add_development_dependency "rspec-rails", ">= 3.2.0"
Вот конфиг в engine.rb
config.generators do |g|
g.template_engine :erb
g.integration_tool :rspec
g.test_framework :rspec
g.fixture_replacement :factory_girl, :dir => "spec/factories"
end
Версия rspec — 3.2.2
. Как исправить этот неправильный путь при установке rspec?