.gem文件包含什么内容? Rails框架如何使用它?

问题描述:

我刚刚创建使用束测试宝石,它创造了无法读取内容的.gem文件,所以我想知道.gem文件包含什么内容? Rails框架如何使用它?

  1. 又有什么.gem文件包含?这是二进制数据吗?因为我以前认为.gem文件包含打包的红宝石功能

  2. 这是如何通过rails框架使用.gem文件?因为它看起来并不像一个模块

感谢

如果您检查文件系统上的文件,可以看到发生了什么。

在一个POSIX环境中,可以检查与文件命令文件:

$: file bundler-1.3.0.gem   
bundler-1.3.0.gem: POSIX tar archive 

正如你可以看到它是一个tar归档。所以它是一个二进制文件,由gem工具打包和管理。

这是'二元',所以你不会看到它,因为你可能已经预料到。

尽管如此,您仍然可以继续认为它包含打包的ruby“函数”。

你已经告诉它通过你的gemspec(但你包括它)包含的一切都在那里。

就Rails如何使用gemfile而言,它通常用于将gem安装到系统中,完成该操作的方式部分取决于您的环境决策。

宝石文件只是包含(至少)gemspec文件tar归档。通常还会有ruby源文件和可能的本地代码或支持资源(例如,设计为与rails一起使用的gem可能还会封装一些javascript)。包含README,CHANGELOG和其他文档也很常见。

+0

谢谢,我怎么看/打开一个宝石文件? – iCyborg 2013-03-09 09:58:01

+0

只是假装它是一个正常的tar文件 - tar -xvf foo.gem – 2013-03-09 10:31:17