Libv8& therubyracer - 在每个新站点部署上完全安装?

时间:2013-12-17 16:31:08

标签: ruby-on-rails capistrano therubyracer libv8

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

我尝试了binary version并尝试更改版本的therubyracer。

这是我的Gemfile

中的therubyracer部分
gem list

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

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

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

2 个答案:

答案 0 :(得分:1)

正如我在评论中所说,bundle带有--deployment标志(如Capistrano所做)将宝石安装到your_app/shared/bundle。这种隔离和定位的原因之一是因为您正在部署的用户可能无法将gems安装到系统位置,并且有更多原因描述here(在部署您的应用程序标题下)。

我相信有办法迫使捆绑者使用系统宝石,但我没有任何亲身经验;见here

答案 1 :(得分:0)

Gemfile中的依赖项可能存在冲突。

删除therubyracerGemfile的版本限制,捆绑应该快得多。

gem 'therubyracer'