错误:执行gem时出错...(Zlib :: GzipFile :: Error)不是gzip格式。

8
我正在开发一个Sencha touch 2应用程序。我一直在按照 "样式化Sencha Touch应用程序的用户界面" 教程中有关主题的步骤进行操作。
它要求我安装Ruby,Compass和SASS。 我使用rubyinstaller.org上的安装程序安装了Ruby。
执行以下命令,得到了预期的结果,证实了正确的安装:
C:\>ruby -v

ruby 1.9.3p327 (2012-11-10) [i386-mingw32]

当前源代码是最新的:

C:\>gem sources

** CURRENT SOURCES **

http://rubygems.org/

接下来,由于我在代理后面,我使用了以下命令来安装HAML/Compass:

C:\>gem install -p [proxy:port] compass

ERROR:  While executing gem ... (Zlib::GzipFile::Error)
not in gzip format**

有人能帮帮我吗?我找到了诸如系统更新、宝石源更新之类的解决方案,但我的系统上所有内容都是最新的。


编辑:

C:\>gem install compass

这个命令在我的私人系统上完全正常。当我尝试从工作场所执行相同的命令时,需要使用上面提到的代理,结果会出现错误。


在我的私人系统中,C:\>gem install compass 运行良好。但是在工作场所,我需要在命令中使用代理:C:\>gem install -p [proxy:port] compass ,这会引发上述错误。 - senchaDev
2个回答

6

我猜这个错误是因为我工作场所的网络对这些下载进行了屏蔽。

解决办法:我直接从http://rubygems.org/gems下载并将所需的宝石:chunky_png、fssm、compass、sass、haml等放置在本地目录中。

之后,我尝试使用gem install compass命令进行安装。此命令首先搜索您的本地目录。找到所需的宝石后,即可进行安装,无需连接到Ruby网站。

注意:请从存放宝石的路径运行该命令。

例如:我已将宝石放置在C:\Ruby193\lib\ruby\gems\1.9.1\gems中。

所以我运行以下命令:

C:\Ruby193\lib\ruby\gems\1.9.1\gems>gem install compass


所有类型的 gem 都能够很好地解决 ERROR: While executing gem ... (Zlib::GzipFile::Error) 的问题。 - Krishna Rani Sahoo
我曾经遇到过 gem 文件访问受限的类似问题,但是通过 @senchaDev 的安装 sass 和 compass 方法解决了这个问题。非常感谢。 - Bharat Dodeja
这对我没有用。我实际上不得不手动下载.gem文件,然后使用sudo gem install --local mailfactory-1.4.0.gem进行安装。 - code_dredd

2
我曾经遇到过类似的问题,我的私人笔记本电脑上可以正常运行,但在工作中使用虚拟服务器(运行Ubuntu 12.10)时失败了,因为它使用了代理。根据我在这里找到的建议,我在命令行中定义了以下内容:
export HTTPS_PROXY=proxy-address:proxy-port-number

export HTTP_PROXY=proxy-address:proxy-port-number

然后我的gem安装包就正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接