出于可移植性的原因,在本地将 gems 安装到项目文件夹

Kee*_*eto 1 ruby gem ruby-on-rails-4

我正在尝试容器化 Rails 项目。出于某种原因,我想要一个 Rails 项目,我可以将它复制并粘贴到另一台机器上,这样我就可以在另一台机器上运行它,而不必在另一台机器上运行“捆绑安装”。有没有办法在项目文件夹中安装所有依赖项,将项目文件夹部署到其他机器并直接从那里运行?

小智 5

当然。从项目的顶级文件夹运行

bundle install --path vendor/cache
Run Code Online (Sandbox Code Playgroud)

这会将所有必需的 gem 安装到vendor. 然后你可以将整个项目文件夹复制到你的另一台机器上,所有必要的 gem 都会随之而来。

要执行依赖于这些本地安装的 gems 的命令,您需要在每个命令前加上前缀bundle exec,例如

bundle exec rails server
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用Capistrano为您管理整个过程(将项目部署到远程服务器并安装必要的 gem)。