如何安装本地gem?


Answers:


288

是的,执行此操作时gem install,它将首先搜索当前目录,因此,如果您的.gem文件在那里,它将进行选择。我在gem参考上找到了它,您也可能会发现它很方便:

gem install将安装命名的gem。它将尝试本地安装(即当前目录中的.gem文件),如果失败,它将尝试下载并安装所需的gem的最新版本。


2
链接以无限重定向结束:(
Ain Tohvri 2014年

2
签到说这对我来说在2019
Charles Wood

1
这是不是在2019年为我工作
反传统的人

1
我有Gemfile一个.gem文件,但没有。那么这个.gem文件是什么呢?它应该包含什么?–等待–我明白了。你的意思是一个gem-name.gem文件。请记住,在Unix上,以“。”开头的文件是很正常的。所以最好把它说清楚。
马丁

我可以确定从2020年的未来开始,该链接对我有用。万一它在遥远的未来不起作用,这是Archive.org 2020年4月19日的快照
Jed Burke

329

另外,您可以使用 gem install --local path_to_gem/filename.gem

这将跳过您离开时进行的常规gem仓库扫​​描--local

您可以通过找到其他魔术gem install --help


我以zip格式下载宝石,例如rubygems。因此,这里没有.gem文件。如何从本地安装它?谢谢。
Erran Morad'1

3
@ BoratSagdiyev,zip文件不是gem。像大多数zip文件一样,您需要先将其解压缩,然后才能进行大量处理。如果其中包含gem,则可以在提取的.gem文件上使用gem install。我不记得gem格式的内部结构;可能只是带有特殊标头的zip文件,但rubygems无法识别这种zip文件。
JasonTrue 2015年

62

您还可以将完整文件名用于gem文件:

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

这也很好-这可能是最简单的方法


38

如果使用捆绑器创建宝石:

# do this in the proper directory
bundle gem foobar

您可以在编写后使用rake安装它们:

# cd into your gem directory
rake install

您下载的gem可能也会知道rake install


3
这似乎是最好的现代答案。接受的答案来自8年前
sixty4bit

14

如果您是从github或其他scm主机站点下载项目文件,请先使用gem build来构建项目,这样您就可以在当前目录中获取一个what.gem文件。然后宝石安装它!


13

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

gem 'pry', path: './pry'

在Gemfile中。

... ./pry存储库的副本在哪里。只需运行bundle install一次,您所做的宝石资源中的任何更改都会立即反映出来。使用gem install pry/pry.gem,源仍将移至其中GEM_PATH,您将始终必须同时运行它们bundle gem prygem update进行测试。



0

好吧,这是我的DRY安装:

  1. 看看在高速缓存目录需要已经安装宝石电脑(默认:[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
  2. 将所有“ *.gems文件” 复制到自己的宝石缓存位置中没有宝石的计算机(默认情况下,第一步的顾客路径相同[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
  3. 在控制台中,将其放置在gems缓存(cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)中并启动gem install anygemwithdependencieshere(通过示例cucumber-2.99.0

这是DRY,因为在安装任何gem后,默认情况下rubygems会将gem文件放在缓存gem目录中,并且没有重复的thats文件,如果您希望两台计算机具有相同的版本(或由偏执的安全规则充斥:v),则更容易。

编辑:在某些版本的ruby或rubygems中,它不起作用并发出警报或错误,您可以将gem放在其他位置,但不能获取DRY,另一种方法是使用launch Integrated命令gem server并在gem源中添加localhost url,更多有关信息,请访问:https : //guides.rubygems.org/run-your-own-gem-server/


0

您可以从https://rubygems.org/gems/下载gem,也可以通过捆绑和机架来构建本地gem。

例如:

  • 捆绑宝石yourGemName
  • 耙安装

在安装实际的gem之前,请注意安装依赖项。

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

注意:如果在同一台机器上使用流利的td代理和红宝石。请确保使用td-agent的td-agent-gem命令。td-agent有自己的Ruby。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.