【问题标题】:Cannot install state_machines gem in Windows environment无法在 Windows 环境中安装 state_machines gem
【发布时间】:2015-03-17 21:38:14
【问题描述】:

我是 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

这对后期spree项目的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。

【问题讨论】:

  • 你确定你不是指state_machinegithub.com/pluginaweek/state_machine
  • 我认为 spree 在 1 月份的某个地方更改为 state_machines。 state_machine 有一段时间没有更新了。

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


【解决方案1】:

我也遇到过。

看起来 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”在 Windows 上运行良好。

请记住,我不打算让我的分支保持最新(如果请求被接受,我将删除它),因此,克隆 URL 不会长期理想

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 2023-03-11
    • 1970-01-01
    • 2020-02-28
    • 2015-05-24
    • 2011-07-19
    • 2021-11-13
    • 2010-12-29
    相关资源
    最近更新 更多