0

几天前我提出了关于使用冷冻 Capistrano 的问题,但在我的供应商文件夹中运行 Capistrano 时仍然遇到问题。

当我尝试运行我的冻结版本 cap

ruby -r rubygems ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations

我收到一个错误

... RubyGem version error: net-ssh(1.0.8 not >= 2.0.0) (Gem::LoadError) ...

我将 net-ssh-2.0.4 冻结在我的供应商文件夹中,因为我知道它是一个依赖项,那么我该如何使用它呢?

我希望将我的供应商文件夹添加到 gempath 下的 .gemrc 文件中:会成功的,但它没有。“gem environment”显示供应商路径,但“gem list”不显示供应商文件夹中的 gem。

有任何想法吗?

4

2 回答 2

1

最后,我决定不将 Capistrano 和依赖项冻结到我的供应商 gems 目录,因为它们不是我的应用程序使用的 gems——它们被用来部署我的应用程序。

相反,我将它们本地安装在我的主机帐户上并且一切正常。

于 2008-12-10T22:56:56.367 回答
0

如果您想完全避免系统安装的 gem(如果您无法控制它们,这不是一个坏主意),我会将 ruby​​gems 的副本安装到供应商目录。

将 GEM_PATH 和 GEM_HOME 环境变量设置为 /path/to/your/vendor/gems 目录,然后安装 ruby​​gems 并从那里开始。

于 2008-12-04T04:48:20.703 回答