Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Libv8&;therubyracer-在每个新站点部署上完全安装?_Ruby On Rails_Capistrano_Therubyracer_Libv8 - Fatal编程技术网

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

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

我有一个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-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)?