如果我下载了一个。gem文件到我电脑的文件夹中,我以后可以使用gem install安装它吗?
是的,当你安装gem时,它会首先搜索当前目录,所以如果你的.gem文件在那里,它会把它捡起来。我在宝石参考上找到了它,你可能也会发现它很方便:
Gem安装将安装命名 宝石。它将尝试一个局部 安装(即。gem文件在 当前目录),如果失败, 它将尝试下载和 的最新版本 你想要的宝石。
同样,你可以使用gem install——local path_to_gem/filename.gem
这将跳过通常的宝石存储库扫描,当您离开—local时发生。
你可以找到其他魔法与宝石安装-帮助。
如果你用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 '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。
推荐文章
- Rails中的OO设计:在哪里放置东西
- 给定一个类,查看实例是否有方法(Ruby)
- 在日历应用程序中建模重复事件的最佳方法是什么?
- 如何创建一个私有类方法?
- 无法安装pg gem
- 双* (splat)操作符做什么
- 如何使用Ruby on Rails进行HTTP请求?
- 如何从rake任务中提前返回?
- 什么&。(&点)在Ruby中是什么意思?
- 是什么阻碍了Ruby和Python获得V8的Javascript速度?
- 运行pod设置给我“坏的解释器:没有这样的文件或目录”错误
- 在Ubuntu上安装sqlite3-ruby错误
- Ruby有什么Python没有的,反之亦然?
- find_spec_for_exe':无法找到gem bundle (>= 0.a) (gem::GemNotFoundException)
- 将字符串转换为可符号的ruby