我想在没有 Internet 连接的 Mac 上安装 JSON 和 Sinatra。
如何从另一台机器下载并安装 Sinatra 和 JSON 及其所有依赖包,然后安装在我的 Mac 上?
JSON 已经安装在 Ruby 1.9.2+ 上。如果您还没有运行它,那么您应该使用 Mac OS 附带的 1.8.7,它现在已经很老了,并且已被弃用。
您不想尝试在 Apple 的 Ruby 版本之上安装更新版本的 Ruby,因为他们安装它是为了自己使用。像 rbenv 或 RVM 这样的东西将是安装新东西的建议方法。但是,如果您没有连接到互联网,那么您将有很多工作要做。
Rubygems 可以告诉我们另一个 gem 依赖于哪些 gem:
gem depend sinatra
回报:
Gem sinatra-1.4.3
rack (~> 1.4)
rack-protection (~> 1.4)
tilt (>= 1.3.4, ~> 1.3)
这些是您在安装 Sinatra 之前必须下载和复制并安装的 gem。请注意,这些依赖项中的每一个也可能有自己的依赖项,因此您需要遍历列表以获取所有必要的内容。
gem fetch sinatra
将 Sinatra gem 检索到本地目录。完成后,您可以将其复制到其他方便的地方。对您需要/想要的其他文件执行相同的操作。
Rubygems 可以从本地存档安装 gem。在命令行中键入gem help install
以获取更多信息,或查看“我如何安装本地 gem? ”和“ RubyGems 基础知识”,特别是“获取和解压缩 Gems”部分以获取更多信息。
不过老实说,尝试在不以某种形式连接到互联网的机器上进行任何开发将非常非常痛苦。我认为互联网连接对于我的开发工作来说是必不可少的,当我必须在一台无法让我工作的机器上工作时,我会变得非常脾气暴躁,即使这台机器与连接到的其他机器有网络连接互联网。这种延迟和额外的步骤是一个真正的痛苦。
您可以使用联网机器并指示捆绑程序将所有必需的 gem 安装在特定位置。
$ bundle install --deployment
将安装 gems vendor/cache
,而
$ bundle install --path path/to/directory
将在给定路径安装 gems。请参阅捆绑器文档。
这将允许您将所有内容安装在拇指驱动器(或其他便携式存储设备)上并将整个目录复制到您的 Mac。
如果您有更复杂的要求,例如使用 控制 ruby 版本rbenv
,您可以