2011-05-09 70 views
0

我正尝试在使用RubyGems进行开发的Windows xp vm(virtualbox)上安装sproutcore。当宝石达到HAML-3.0.25.gem停止与错误:使用RubyGems安装Sproutcore在haml gem上失败

gem install sproutcore -V 
... 
ERROR: While executing gem ... (Zlib::DataError) 
invalid stored block lengths 

我曾经尝试都红宝石1.8.7和1.9.2以及1.7.1 RubyGems的1.8.1和。 我试着用git下载haml 3.1.1并手动安装,但耙子不会安装。它说了一些关于'lib/haml'没找到的东西。该目录确实存在。

其他宝石安装在我试过的所有组合下都很好。我甚至尝试在我的主机操作系统(Win 7 32位)下安装它,但它给出了相同的错误。本身安装HAML只是稍微改变了错误消息:

gem install haml -V 
... 
ERROR: While executing gem ... (Zlib::DataError) 
invalid code lengths set 

的zlib压缩,并从我读解压缩数据流,所以它听起来像宝石HAML可能是腐败的(虽然我怀疑)。

我在我的智慧结束,并且在任何地方都找不到有用的建议。

回答

0

我能关于Ruby 1.9.2安装了SproutCore:

  1. 安装Ruby 1.9.2-P180
  2. 创业板安装SproutCore的 - 事先
  3. 创业板安装EventMachine的 - 事先
  4. 宝石卸载薄
  5. 创业板安装杂种

我需要重新移动瘦,因为开始sc-server结束时出现错误,SproutCore将使用杂种而不是瘦。


更新:

我没有提到,我使用RubyGems的1.7.2和我已经安装的devkit和Cygwin。

我删除了SproutCore,杂种狗和Haml的所有版本,然后我输入:

  1. gem install sproutcore --pre,安装了SproutCore v1.6.0.beta.1。
  2. eventmachine --pre,EventMachine的(1.0.0.beta.3 x86架构的mingw32)安装

SproutCore的工作原理与此设置,使用的杂种是没有必要的。

我的配置:sproutcore(1.6.0.beta.1),ruby 1.9.2p180,gem 1.7.2,thin(1.2.11 x86-mingw32),eventmachine(1.0.0.beta.3 x86-mingw32 ),haml(3.0.25),gcc版本4.5.0(GCC)

+0

感谢您的答复,但我的安装仍然失败了相同的方式使用gem install sproutcore --pre – immortalBob 2011-05-09 13:36:45

1

特别感谢@saner的贡献。在经历了很多挫折之后,我终于在Windows 7主机上运行的Windows XP虚拟机上安装了sproutcore。

1)下载并安装Ruby 1.9.2-p180(记得打勾选项以将bin目录包含在PATH变量中)。
2)下载DevKit 4.5.1并解压缩。
3)打开命令提示符,并cd到提取的目录。
4)执行命令

ruby dk.rb init 
ruby dk.rb review 
ruby dk.rb install 

5)下载RubyGems 1.7.2并运行的setup.rb
6)在命令提示运行

gem install haml -v 3.0.24 
gem install eventmachine --pre 
gem install sproutcore --pre 

那它。
享受。

0

我知道这是一个非常古老的问题,但由于我刚刚遇到同样的问题,因此我决定添加我的见解。

因此,当我试图在具有不同体系结构,不同位置和不同网络的两台不同机器上安装同一组宝石时发生了这种情况。即 - 我的家庭MAC和远程Linux服务器。

因此,一个特定的宝石(DM-SQLite的适配器)失败安装在两台机器上,我甚至尝试了几次,但总是有相同的结果:

$ gem install dm-sqlite-adapter 
ERROR: While executing gem ... (Zlib::DataError) 
    invalid code lengths set 

然后过了几分钟浏览网络寻找解决方案,包括阅读此主题。

由于我没有找到任何满意的答案,我不喜欢重新安装所有东西的想法,所以决定默默行事,并试图gem install一次。然后尝试了另一台机器 - 像魅力一样工作。

所以作为一个结论,我只是猜测,问题来自远程回购,也许宝石甚至没有下载(我忘了检查之前成功安装它)。但正如我所说 - 这只是一个猜测..