博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gem简介
阅读量:7169 次
发布时间:2019-06-29

本文共 1563 字,大约阅读时间需要 5 分钟。

Rubyems:简称gems是一个用于对rails组建近些年个打包的ruby打包系统,它提供了一个分发ruby程序喝库的标准格式,还提供了一个管理程序包的工具。Rubyems的功能类似于linux下的apt-get,是个包管理器,可以从远程下载所需的包。 什么是gem:你可以这样理解,gem是一系列文件和包的总称,是一些rails项目依赖的软件或者环境,或者是依赖的关系库,当你的项目中缺少的时候,你可以用gem install 来进行安装,这种安装是通过RubyGems这个包管理工具来安装的,当然你也可以通过bundleer来安装。说到这两种安装方法,区别在于: gem install xxx.gem是通过Rubyems工具来进行安装的,将所需要的gem都安装到/usr/local/ruby/lib/ruby/gems/1.8(你的ruby的安装目录)。这其中包括了Cache、doc、gems、specifications 4个目录,cache下放置下载的原生gem包,gems下则放置的是解压过的gem包。当安装过程中遇到问题时,可以进入这些目录,把有问题的gem删掉,重新 gem install 即可 bundle install 默认情况下也是将所需要的gem安装到这个位置,但是在一些情况,可能你当前的用户权限对那个目录没有可写权限,这个时候bundler将会在一个临时目录里来升级所需的一切gem,然后管你要sudo的密码,这样的话,才有权限copy这些gems到系统的目录去。其实你应该永远也不要用sudo bundle install,因为在bundle install的时候,有些步骤是必须要用你现在的用户角色来进行的。 Rails 3中如果需要 require 某个 gem 必须通过 Gemfile 来管理。 Gemfile.lock 则用来记录本机目前所有依赖的 RubyGems 和其版本,所以强烈建议将该文件放入版本控制器,从而保证大家基于同一环境下工作。 bundle install:安装你在项目的Gemfile文件中指定的项目依赖库 描述:用来安装你在Gemfile中制定的,该项目所要用到的依赖的gem。 如果你第一次运行bundle install,并且这个Gemfile.lock不存在,bundler将会在远程的源上去抓取这些依赖的库,去解析依赖关系,并且安装所有你在Gemfile中指定的gem。 如果Gemfile.lock文件已经存在了,并且你还没有更改你的Gemfile文件,bundler将会所有的远程资源,但是是根据Gemfile.lock中制定的gem来解析依赖关系。 如果Gemfile.lock文件已经存在了,并且你已经更改了Gemfile文件,bundler将会用Gemfile.lock中,你没有更改之前的gem来解析依赖关系,并且将会利用你更改过的gem来重新解析这些依赖。 如果gems有新版本,Gemfile.lock如何同步更新: bundle update,这样bundle会去检查 http://rubygems.org/ 上 gem的最新版本,如果本地旧的话,会去更新到最近版本。然后同步更新Gemfile.lock 在Linux下不要使用 sudo bundle install/update,这样会在.bundle目录下查找bundle install path 的配置,找到后安装到该目录,而非系统指定的目录,不方便管理。这就是说,通过sudo bundle install 安装的gem会在你当前的家目录的.bundle下

 

转载于:https://www.cnblogs.com/znsongshu/p/6080225.html

你可能感兴趣的文章
mysql查询结果处理
查看>>
扫描识别控件Dynamic Web TWAIN v12.3.1发布,更新服务证书丨附下载
查看>>
VintaSoft PDF插件VintaSoftPDF.NET Plug-in更新至v5.6,新增多页查看模式
查看>>
windows环境中不重启电脑杀死占用某个端口的进程
查看>>
“90+68”的完美转变
查看>>
Kubernetes上的负载均衡详解
查看>>
centos7格式化大于2T的硬盘
查看>>
为什么要进行项目总结呢?又如何进行项目总结呢?
查看>>
iOS——重写Cell分割线
查看>>
window与linux下,php的redis扩展安装
查看>>
VirtualBox虚拟机网络设置
查看>>
Mongodb 之 安全权限控制
查看>>
httpclient发送网络请求
查看>>
可自动切换登录不同系统测试实例
查看>>
jQuery Validate
查看>>
Building IKEv1 and IKEv2 on CentOS 7
查看>>
Spring AOP就是这么简单啦
查看>>
如何解决生产环境宕机问题
查看>>
阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
查看>>
织梦程序和ZBLOG系统比较:哪个更加适合建设中小型网站?[图]
查看>>