2

capistrano を使用してデプロイしようとしていますが、rubyracer gem の問題が原因で失敗します。

次のバリアントをgemfileに追加してから、ubuntuの本番サーバーにデプロイしようとしましたが、何も機能しません:

1)
gem 'libv8', '3.11.8.3'

3)
gem 'therubyracer'
gem 'libv8', '3.3.10.4'

4)
gem 'libv8', '~> 3.11.8.3'

すべて同じエラーが発生します。

therubyracer (0.11.0) のインストール中にエラーが発生し、Bundler を続行できません。バンドルする前に、gem install therubyracer -v '0.11.0' が成功することを確認してください。

だから私は代わりにこれを試します:

group :production do
  gem 'therubyracer', '0.10.2', :platforms => :ruby
end

しかし、それはこのエラーを引き起こします:

Bundler could not find compatible versions for gem "libv8":
 In Gemfile:
  therubyracer (= 0.10.2) ruby depends on
  libv8 (~> 3.3.10) ruby
 libv8 (3.11.8.3)

私は現在、サーバー上に2つのバージョンのlib8を持っているようです:

libv8 (3.11.8.4, 3.3.10.4 x86_64-linux)

何か案は?

4

4 に答える 4

5

何時間もスタックオーバーフローのソリューションを試した後、このサイトからわずか 2 つのコマンドで簡単に修正できました。

therubyracer gem をインストールする際、マシンの新規インストール時にこの問題が発生する可能性があります。

http://usefulprogrammingshit.drmcnasty.com/?p=12

sudo apt-get install g++
sudo apt-get install build-essential

rubyについては何も知らないので、この解決策についてもっと研究する必要がありますが、結局のところ、ubuntu 14.04には「therubyracer 0.12.2」がインストールされています。お役に立てば幸いです。

于 2015-09-29T04:38:36.817 に答える
0
  1. libv8 ではなく、実行時の JavaScript 環境として node.js を試してください。

  2. libv8 を主張する場合は、バージョンを指定しないでください。バージョンに競合があるようです。たとえば、Gemfile で:

    gem 'therubyracer'
    gem 'libv8'
    
于 2012-12-18T23:28:35.023 に答える
0

本番サーバーのコマンドラインで

gem install therubyracer
于 2012-12-18T23:32:10.757 に答える