与" Ruby Gems and Bundler"相比," PHP作曲家"[英] "PHP Composer" compared with "Ruby Gems and Bundler"

本文是小编为大家收集整理的关于与" Ruby Gems and Bundler"相比," PHP作曲家"的处理方法,想解了与" Ruby Gems and Bundler"相比," PHP作曲家"的问题怎么解决?与" Ruby Gems and Bundler"相比," PHP作曲家"问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

(首先,这个问题不是"哪个更好"的问题.我只想知道它们是如何相似和功能视角不同的.)

我 php 开发人员,目前学习 Ruby . 如今,鼓励许多PHP开发人员使用Composer进行依赖管理.在提出问题之前,我想先验证我的知识.

根据我的理解,

  • Composer是PHP库(或软件包)的依赖关系管理工具.
  • Composer根据项目基础安装了PHP库(本地所谓的).我的意思是,如果没有再次安装Project2,则无法为Project2安装的PHP库.

我注意到 Ruby 也具有很好的依赖性管理工具" RubyGems". 据我所知,

  • " RubyGems"是"宝石"的软件包经理.
  • " Gem"是一个以标准格式打包的红宝石程序或库. (铁轨也是宝石.)
  • Gem可以通过命令安装gem install sinatra.
  • 但是,也有所谓的" Bundler",这也是用于应用程序的宝石的宝石.
  • 当命令bundle install运行(在特定的Ruby Project目录下)时,为Ruby Project安装了Gemfile中列出的所有宝石.

所以,我的问题在这里.

  1. Composer与RubyGems或Bundler?
  2. 相似
  3. 运行gem install sinatra时,是否安装在系统范围内?
  4. 运行bundle install时,将安装宝石,无论是本地(仅在此项目)还是系统范围内?
  5. 如果我需要两个版本的一个gem(例如 sinatra ),我应该如何处理?

(对不起我的长期问题.如果我的理解有问题,对不起,请再次指出正确的问题.)

推荐答案

1)作曲家与Bundler更相似. 作曲家带来了您项目中的所有内容,邦德勒(Bundler)将所有内容都带入了您的系统,并在项目的背景下"链接"它们. Bundler在背面与宝石一起工作.

2)是. GEM安装在整个系统范围内(或使用RBENV或RVM之类的用户)

3)请参见1.系统宽,并根据捆绑exec

运行物品时根据gemfile正确选择.

4)我建议使用gemfile,将您感兴趣的版本放在那里,然后让Bundler完成其余的工作(它将在后面安装多个版本中并选择正确的版本).不过,请确保运行"捆绑电报". 如果您进入RVM,您还可以选择使用RVM GEMSET,但这很难处理,并且在尝试部署时会有一个非常糟糕的时光.

本文地址:https://www.itbaoku.cn/post/786481.html