0

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

部署给了我这个错误:

Could not find libv8-3.3.10.4 in any of the sources

似乎我有bundle package-da Mac OS X binary gem:

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

Gemfile

gem 'therubyracer'

我想使用二进制 gem,因为 Squeeze 不从包管理器中提供 Node.js,而且我想保持源代码在生产服务器之外编译。

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

therubyracer顺便说一句,当它也使用 Bundler时如何做到这一点?

4

2 回答 2

0

安装libv8在你的 Debian 盒子上。

于 2012-11-27T22:06:44.917 回答
0

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

所以我最终Node.js从源代码安装到 Debian 盒子,并将其记录为项目的先决条件。然后我注释掉了这部分Gemfile

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

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

于 2012-11-27T23:05:28.143 回答