Ruby on rails Libv8&;therubyracer-在每个新站点部署上完全安装?
我有一个Ubuntu 12.04服务器和几个rails 3.2.14站点。每次我进行新的站点部署(通过capistrano)时,第一次安装需要20-30分钟,因为它完成了libv8的完整安装,即使我已经在机器上安装了libv8 gem(并且在执行Ruby on rails Libv8&;therubyracer-在每个新站点部署上完全安装?,ruby-on-rails,capistrano,therubyracer,libv8,Ruby On Rails,Capistrano,Therubyracer,Libv8,我有一个Ubuntu 12.04服务器和几个rails 3.2.14站点。每次我进行新的站点部署(通过capistrano)时,第一次安装需要20-30分钟,因为它完成了libv8的完整安装,即使我已经在机器上安装了libv8 gem(并且在执行gem列表时可以看到它) 我尝试了therubyracer,并尝试了更改版本 这是我档案中的Rubyracer部分 group :assets do gem 'sass-rails', '~> 3.2.6' gem 'coffee-ra
gem列表时可以看到它)
我尝试了therubyracer,并尝试了更改版本
这是我档案中的Rubyracer部分
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]安装libv8(3.16.14.3)
有什么建议吗?真的厌倦了花这么长时间部署新站点 您的Gemfile
中的依赖项可能存在冲突
删除Gemfile
中的therubyracer
的版本约束,捆绑应该会更快
gem 'therubyracer'
正如我在评论中所说,带有--deployment
标志的bundle
(正如Capistrano所做的那样)将gems安装到您的应用程序/共享/bundle
。进行此隔离和定位的原因之一是,与您一起部署的用户可能无权将gems安装到系统位置,以及(在“部署您的应用程序”标题下)描述的其他原因
我相信有办法强迫bundler使用系统gems,但我没有任何第一手的经验;请参阅。Max,感谢您的回复,之前我没有版本(实际上是昨天的一个站点),不幸的是仍然存在相同的问题。还有其他建议吗?试试这个答案:不确定“新站点部署”是什么意思。据我所知,Capistrano在安装gems时使用--deployment
bundler标志,这告诉它,除其他外,将gems安装到您的应用程序/shared/bundle/
,这意味着每个新部署都不同。好的,您知道使用机器版gem的方法吗(而不是为每个新Rails站点编译libv8)?