无法在Windows环境中安装state_machines gem

时间:2015-03-17 21:38:15

标签: ruby-on-rails ruby rubygems spree state-machine

我是Rails的新手,想在自定义之前检查Spree电子商务解决方案的样子。这就是我从RubyInstaller,DevKit,Rails,Spree等安装Ruby的原因。

在安装state_machines gem期间,出现以下错误,并且最终未安装gem。

C:\>gem install state_machines 

ERROR:  While executing gem ... (Errno::EINVAL)
Invalid argument @ rb_sysopen - C:/Dev/Ruby/lib/ruby/gems/2.1.0/gems/state_m
achines-  0.2.2/test/unit/node_collection/node_collection_after_being_copied_test.rb

这对后来的狂欢项目bundle install有影响:

Errno::EINVAL: Invalid argument @ rb_sysopen - C:/Dev/Ruby/lib/ruby/gems/2.1.0/g
ems/state_machines-0.2.2/test/unit/node_collection/node_collection_after_being_c
opied_test.rb
An error occurred while installing state_machines (0.2.2), and Bundler cannot
continue.Make sure that `gem install state_machines -v '0.2.2'` 
succeeds before bundling.

目前安装的ruby版本是: ruby 2.1.5p273(2014-11-13修订版48405)[i386-mingw32] + devkit

rails版本是4.2.0

我在Windows环境中运行,没有任何可能转移到Linux。

1 个答案:

答案 0 :(得分:5)

我也碰到了这个。

看起来state_machines有一些测试用例文件,名称中有换行符。 我打赌这是问题的原因。 我已在此处提交了拉取请求:https://github.com/state-machines/state_machines/pull/11 与此同时,我的分支机构没有问题:https://github.com/jeff-hamm/state_machines

特定修复(暂时,直到接受pullrequest)是:

git clone https://github.com/jeff-hamm/state_machines
cd state_machines
bundle gem state_machines
rake install

完成后,' gem install spree_core'在窗户上工作得很好。

请记住,我不打算让我的分支保持最新状态(如果请求被接受,我会将其删除),因此,该克隆网址不适合长期使用