如果我下载了一个。gem文件到我电脑的文件夹中,我以后可以使用gem install安装它吗?
当前回答
这是我的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/
其他回答
是的,当你安装gem时,它会首先搜索当前目录,所以如果你的.gem文件在那里,它会把它捡起来。我在宝石参考上找到了它,你可能也会发现它很方便:
Gem安装将安装命名 宝石。它将尝试一个局部 安装(即。gem文件在 当前目录),如果失败, 它将尝试下载和 的最新版本 你想要的宝石。
你可以从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。
如果您想在gem的本地修改分支上工作,最好的方法是
Gem 'pry', path: './pry'
在Gemfile中。
... 其中。/pry将是您的存储库的克隆。只需运行bundle install一次,您对gem源代码所做的任何更改都会立即反映出来。与宝石安装撬/撬。gem,源代码仍然移动到GEM_PATH,你总是必须运行捆绑gem撬和gem更新来测试。
如果你用bundler创建宝石:
# do this in the proper directory
bundle gem foobar
你可以在它们写完之后用rake安装它们:
# cd into your gem directory
rake install
很有可能,你下载的gem也知道rake的安装。
进入gem所在的路径,调用gem install -l gemname.gem
推荐文章
- 了解Gemfile。锁文件
- 如何确定一个数组是否包含另一个数组的所有元素
- 是什么导致这个ActiveRecord::ReadOnlyRecord错误?
- 最好的打印散列的方法
- Rails:dependent =>:destroy VS:dependent =>:delete_all
- 我可以在不包含Ruby模块的情况下调用实例方法吗?
- 如何将新项目添加到哈希
- 测试一个Ruby类是否是另一个类的子类
- 什么时候使用Struct vs. OpenStruct?
- 数组到哈希Ruby
- 我如何让红宝石打印一个完整的回溯而不是截断一个?
- 如何使用RSpec的should_raise与任何类型的异常?
- 如何创建退出消息
- 忽略GEM,因为没有构建它的扩展
- 在Gem::Specification.reset期间未解决的规格: