Nodejs的npm有package.json来存储依赖项(使用npm init
创建,使用npm install aPackage anotherPackage --save
修改,并与npm install
一起安装)。
Python的pip有requirements.txt(在使用pip freeze > requirements.txt
安装软件包之后用pip install apackage anotherpackage
创建,并与`pip install -r requirements.txt一起安装。
Ruby用于存储依赖项的文件是什么?如果我使用gem install sass jekyll etc...
安装,我如何将这些dep包含在一个文件中并将它们全部安装在一台新机器上?
Python equivalent of npm or rubygems和gem equivalent of `pip install -r requirements.txt`指向使用Gemfile的bundler gem - 这是事实上的Ruby标准吗?
答案 0 :(得分:1)
嗯,Which programming language has the best package manager? | Continuous Updating以及在我的问题中链接的两个SO问题都指向Bundler: The best way to manage a Ruby application's gems。
我猜工作流程为gem install bundler
,将宝石添加到Gemfile
,然后bundle install
。
答案 1 :(得分:1)
Bundler是一个很棒的包管理器,绝对是红宝石的标准。它与pip
和npm
相当。
您可以这样设置:
安装Bundler:
$ gem install bundler
在项目根目录中的Gemfile中指定依赖项:
source 'https://rubygems.org'
gem 'nokogiri'
gem 'rack', '~>1.1'
gem 'rspec', :require => 'spec'
然后,在任何机器上,您都可以安装所有项目的宝石:
$ bundle install
$ git add Gemfile Gemfile.lock
第二个命令将Gemfile和Gemfile.lock添加到您的存储库。这可确保您的应用程序上的其他开发人员以及您的部署环境都使用您现在使用的相同第三方代码。