0

我有一个 Ubuntu 12.04 服务器和几个 rails 3.2.14 站点。每次我进行新站点部署(通过 capistrano)时,第一次安装需要 20 到 30 分钟,因为它会完整安装 libv8,即使我已经在机器上安装了 libv8 gem(并在我执行时看到它gem list) .

我已经尝试过二进制版本并尝试更改 therubyracer 的版本。

这是我的 Gemfile 的 ruby​​racer 部分

group :assets do
  gem 'sass-rails',   '~> 3.2.6'
  gem 'coffee-rails', '~> 3.2.2'
      gem 'uglifier', '>= 1.0.3'
  gem 'therubyracer', '~> 0.12.0'
end

我在 Capistrano 中打开了详细输出,在这里它挂了大约 20 分钟

** [out :: 198.58.99.7] Installing libv8 (3.16.14.3)

有什么建议么?真的厌倦了需要这么长时间才能部署的新站点。

4

2 回答 2

1

正如我在评论中所说,bundle使用--deployment标志(如 Capistrano 所做的那样)将 gem 安装到your_app/shared/bundle. 这种隔离和位置的原因之一是因为与您一起部署的用户可能无权将 gem 安装到系统位置,以及此处描述的更多原因(在“部署您的应用程序”标题下)。

我相信有办法强制捆绑器使用系统宝石,但我没有任何第一手经验;看这里

于 2013-12-18T09:16:16.657 回答
0

您的Gemfile.

删除therubyracer您的版本约束Gemfile,捆绑应该更快。

gem 'therubyracer'
于 2013-12-17T16:33:40.237 回答