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

标签 ruby ruby-on-rails-4 rubygems

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

最佳答案

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

bundle install --path vendor/cache

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

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

bundle exec rails server

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

关于ruby - 出于可移植性原因,在本地将 gems 安装到项目文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461888/

相关文章:

ruby - 如何在 sinatra/rack 应用程序中加载 fork 的 github repo 作为 gem

ruby - 在 Windows 7 上安装 ruby​​ Devkit 时出现警告

ruby - 如何从 Rack 获取原始格式的请求 header ?

ruby - Rails 正确使用 Unless with And 运算符

ruby-on-rails-4 - CodeRay 在 Rails 控制台中引发错误

ruby-on-rails - 将用户从一个 Rails 应用迁移到另一个,都使用 Devise,同时维护密码

ruby - 获取所需 gem 的列表

ruby - MRI ruby​​ 线程和性能

ruby - Sinatra/Warden/Ruby - 如何确保我的用户只能通过单个 session 登录?

ruby-on-rails - 在 Rails 的数据库中存储类似 excel 的数据