Bundler,ExecJS,Mac OS X和Debian

时间:2012-11-27 21:56:58

标签: ruby-on-rails node.js bundler

我正在Mac OS X 10.8上开发Rails并尝试使用 Capistrano 部署到 Debian Squeeze

部署给了我这个错误:

Could not find libv8-3.3.10.4 in any of the sources

似乎我有bundle package - 一个Mac OS X二进制宝石:

Updating files in vendor/cache
...
* libv8-3.3.10.4-x86_64-darwin-12.gem

Gemfile有:

gem 'therubyracer'

我想使用二进制宝石,因为Squeeze不提供来自包管理器的Node.js,我希望将源代码编译出生产服务器。

有没有办法告诉Bundler打包两个 Linux和Darwin二进制文件?

顺便说一句,therubyracer如何{{1}}完成此任务?

2 个答案:

答案 0 :(得分:0)

在Debian框中安装libv8

答案 1 :(得分:0)

一个解决方案是跳过bundle package,它会从源代码下载所有软件包,但是根据我的口味,他的部署太慢(可能由于某种原因b / c仍然没有每次都下载二进制gem并重新编译libv8。

所以我最终将Node.js从源代码安装到Debian框,并将其作为项目的先决条件进行记录。然后我评论了Gemfile的这一部分:

group :assets do
  ...
  # gem 'therubyracer'
  ...
end

现在我可以再次bundle package全部并快速部署。