【发布时间】:2015-05-26 15:35:27
【问题描述】:
(首先,这个问题不是“哪个更好”的问题。我只是想知道它们在功能方面的相似之处和不同之处。)
我是 php 开发人员,目前正在学习 ruby。
现在,鼓励许多 php 开发人员使用Composer 进行依赖管理。在提问之前,我想先验证我的知识。
据我了解,
-
Composer是 php 库(或包)的依赖管理工具。 -
Composer为每个项目安装了 php 库(所谓的本地)。我的意思是为 project1 安装的 php 库不能在没有再次为 project2 安装的情况下重新用于 project2。
我注意到 Ruby 还有非常好的依赖管理工具“RubyGems”。
据我所知,
- “
RubyGems”是“Gems”的包管理器。 - “
Gem”是以标准格式打包的Ruby程序或库,用于共享。 (Rails 也是一颗宝石。) -
Gem可以通过类似gem install sinatra的命令安装。 - 但是,还有所谓的“
Bundler”,它也是为应用程序捆绑 gem 的 gem。 - 当命令
bundle install运行时(在特定的ruby 项目目录下),Gemfile 中列出的所有gem 都会为此ruby 项目安装。
所以,我的问题在这里。
-
Composer是否类似于RubyGems或Bundler? - 在运行
gem install sinatra时,它是否安装在系统范围级别? - 运行
bundle install时,无论是在本地(仅在此项目上)还是在系统范围内安装 Gem? - 如果我需要一个
gem的两个版本(例如 sinatra)用于不同的项目,我应该如何处理?
(对不起,我的问题很长。如果我的理解有问题,再次抱歉,请指出正确的。)
【问题讨论】:
-
感谢您的问题,我在 8 m 前您所在的位置。你问了我所有的问题。 :) 我简直不敢相信。这就像我自己在问这个问题。
标签: php ruby gem composer-php bundler