Ste*_*ung 10 php ruby gem bundler composer-php
(首先,这个问题不是"哪个更好"的问题.我只想知道它们是如何相似的,并且在功能方面有所不同.)
我是php开发人员,目前正在学习ruby.在这些日子里,鼓励许多php开发人员使用Composer依赖管理.在提问之前,我想首先验证我的知识.
根据我的理解,
Composer 是一个用于php库(或包)的依赖管理工具.Composer每个项目基础安装php库(所谓的本地).我的意思是为project1安装的php库不能重新用于project2而不再为project2安装.我注意到Ruby也有非常好的依赖管理工具" RubyGems".据我所知,
RubyGems"是"宝石"的包管理器.Gem"是以标准格式打包的Ruby程序或库,用于共享.(Rails也是一个宝石.)Gem可以通过这样的命令安装gem install sinatra.Bundler",它也是为应用程序捆绑宝石的宝石.bundle install运行时(在特定的ruby项目目录下),将为此ruby项目安装Gemfile中列出的所有gem.所以,我的问题在这里.
Composer类似于是否RubyGems还是Bundler?gem install sinatra,是否在系统级别安装?bundle install,是否在本地(仅在此项目上)或系统级别安装Gems?gem(例如sinatra)用于不同的项目,我应该如何处理?(对不起,我的问题很长.如果我的理解有问题,请再次抱歉,请指出正确的.)
1)Composer更像Bundler.Composer为您的项目带来了一切,bundler将所有内容带到您的系统中,并在项目的上下文中"链接"它们.Bundler正在与后面的宝石合作.
2)是的.gem install在系统范围内执行(如果使用rbenv或rvm之类的东西,则按用户执行)
3)看看1.系统范围,当你通过bundle exec运行时,根据Gemfile正确选择
4)我建议使用Gemfile,将您感兴趣的版本放在那里,然后让Bundler完成剩下的工作(它将在后面安装多个版本并选择正确的版本).一定要运行"bundle exec".如果你进入rvm,你也可以选择使用rvm gemset,但是这很难处理,你在尝试部署时会遇到非常糟糕的时间.