如果我下载了一个。gem文件到我电脑的文件夹中,我以后可以使用gem install安装它吗?


是的,当你安装gem时,它会首先搜索当前目录,所以如果你的.gem文件在那里,它会把它捡起来。我在宝石参考上找到了它,你可能也会发现它很方便:

Gem安装将安装命名 宝石。它将尝试一个局部 安装(即。gem文件在 当前目录),如果失败, 它将尝试下载和 的最新版本 你想要的宝石。


同样,你可以使用gem install——local path_to_gem/filename.gem

这将跳过通常的宝石存储库扫描,当您离开—local时发生。

你可以找到其他魔法与宝石安装-帮助。


你也可以使用完整的文件名到你的gem文件:

gem install /full/path/to/your.gem

这个方法也很有效——这可能是最简单的方法


如果你用bundler创建宝石:

# do this in the proper directory
bundle gem foobar

你可以在它们写完之后用rake安装它们:

# cd into your gem directory
rake install

很有可能,你下载的gem也知道rake的安装。


如果你从github或其他SCM主机站点下载项目文件,首先使用gem build来构建项目,这样你就可以得到一个任何东西。Gem文件在当前目录。然后gem安装它!


进入gem所在的路径,调用gem install -l gemname.gem


如果您想在gem的本地修改分支上工作,最好的方法是

Gem 'pry', path: './pry'

在Gemfile中。

... 其中。/pry将是您的存储库的克隆。只需运行bundle install一次,您对gem源代码所做的任何更改都会立即反映出来。与宝石安装撬/撬。gem,源代码仍然移动到GEM_PATH,你总是必须运行捆绑gem撬和gem更新来测试。


这是我的DRY装置:

Look into a computer with already installed gems needed in the cache directory (by default: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) Copy all "*.gems files" to a computer without gems in own gem cache place (by default the same patron path of first step: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) In the console be located in the gems cache (cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) and fire the gem install anygemwithdependencieshere (by example cucumber-2.99.0)

这是DRY,因为安装任何宝石后,默认情况下,rubygems把宝石文件在缓存宝石目录和没有意义的复制文件,这是更容易,如果你想两台计算机有相同的版本(或被妄想的安全规则:v)

编辑:在ruby或rubygems的某些版本中,它不能工作和发射 警报或错误,你可以把宝石放在其他地方,但不会得到DRY, 其他替代方案是使用启动集成命令gem服务器和 在gem源代码中添加localhost url,更多信息在: https://guides.rubygems.org/run-your-own-gem-server/


你可以从https://rubygems.org/gems/下载宝石,或者通过捆绑和机架构建你的本地宝石。

eg:

捆绑宝石yourGemName 耙式安装

在安装真正的宝石之前,要注意安装依赖项。

gem install——local /pathToFolder/xxx-2.6.1.gem

注意:如果在同一台机器上使用fluentd td-agent和ruby。请务必使用td-agent的td-agent-gem命令。td-agent有自己的Ruby。