Nic*_*nto 89
在Rails开发过程中,有时候你会想要提供一些你需要的功能,但要么你不知道怎么做,要么你不想自己实现它,因为很多有才华的开发人员已将工作投入其中.
您可能需要的这些开发(用户身份验证,消息系统,资产处理程序,地理定位,分页系统,链接到外部服务,如Amazon AWS,以及最后但并非最不重要的Rails本身)称为Ruby Gems.这些是ruby软件包,不一定与Rails有关,但由于Rails基于Ruby,因此98%的宝石可用于您的Rails webapp代码.
在github中可以找到很多宝石,但它通过ruby-gems或ruby-toolbox搜索宝石更有乐趣
您gemfile是要包含在项目中的所有宝石的列表.它与bundler(也是gem)一起使用来安装,更新,删除和管理您使用过的宝石.
在gemfile还有另一个目的-你可以组宝石中:development,:test,:assets,:production,等团体和Rails会知道什么时候包括宝石.例如:
group :development, :test do
gem "rspec-rails"
gem "factory_girl_rails"
gem "guard-rspec"
end
Run Code Online (Sandbox Code Playgroud)
请注意,在Rails 4上,该assets组已被弃用
这些宝石属于开发环境和测试环境,因为它们用于测试应用程序.您不需要在生产环境中使用它们(您可以,但这将不必要地膨胀内存).
所以 - 要使用gemfile,只需编写您想要安装的gem,例如
gem 'devise'
Run Code Online (Sandbox Code Playgroud)
确保bundler事先安装(在你的console/cmd/ssh中)
$ gem install bundler
Run Code Online (Sandbox Code Playgroud)
然后在控制台中写入
bundle install
Run Code Online (Sandbox Code Playgroud)
你会注意到另一个gemfile出现了!Gemfile.lock
正如您将看到的那样,如果您使用文本阅读器打开它,则会列出所有宝石及其版本及其依赖项.当您需要知道安装了哪些版本的gem时,这将非常有用.
有关挑选宝石的信息,您可以从此开始
祝好运并玩得开心点!
好的,那么这个创建的Gemfile.lock是什么?
Gemfile.lock,顾名思义就是对已安装的所有gem的所有版本进行锁定.因此,如果需要安装Gemfile,则锁定文件是安装的,以及实际启动和运行应用程序所需的版本.
如果您没有特定版本中的宝石(如Gemfile.lock中所指定),rails会抱怨并且您必须安装丢失的宝石(通过bundle install)或手动修复任何冲突(我相信捆绑器会给你一些线索)那个)
有些事要了解 Gemfile.lock
bundle install.如果你意外删除Gemfile,你运气不好..你应该使用git :)| 归档时间: |
|
| 查看次数: |
35318 次 |
| 最近记录: |