Nodejs 的 npm 有 package.json 来存储依赖项(用 npm init
创建,用 npm install aPackage anotherPackage --save
修改,并与 npm install
一起安装)。
Python 的 pip 有要求.txt(在用 pip install apackage anotherpackage
安装软件包并与"pip install -r requirements.txt一起安装后,使用 pip freeze > requirements.txt
创建)。
Ruby 使用什么文件来存储依赖项?如果我使用 gem install sass jekyll etc...
安装,如何将这些 dep 包含在文件中并将它们一起安装在新机器上?
相当于 npm 或 rubygems 的 Python 等价物和相当于"pip install -r requirements.txt"的 gem 指向使用 Gemfile 的捆绑器 gem - 这是事实上的 Ruby 标准吗?
那么,哪种编程语言具有最好的包管理器? |持续更新以及我问题中链接的两个 SO 问题都指向 Bundler:管理 Ruby 应用程序 gem 的最佳方式。
我想工作流程是gem install bundler
,将宝石添加到Gemfile
,然后bundle install
。
Bundler 是一个很棒的包管理器,绝对是 ruby 标准。它可与pip
和npm
相媲美.
您可以像这样设置它:
安装捆绑器:
$ gem install bundler
在项目根目录的 Gem 文件中指定依赖项:
source 'https://rubygems.org'
gem 'nokogiri'
gem 'rack', '~>1.1'
gem 'rspec', :require => 'spec'
然后,在任何计算机上,您都可以安装项目的所有 gem:
$ bundle install
$ git add Gemfile Gemfile.lock
第二个命令将 Gemfile 和 Gemfile.lock 添加到存储库中。这可确保应用上的其他开发人员以及部署环境都将使用你现在使用的相同第三方代码。