1

bundle install コマンドを実行するときに、既存のプロジェクトを実行する必要があります。約 30 分間ハングアップし、まだ bundle install コマンドを完了していません。ruby1.9.3p327 を使用しており、Rails のバージョンは 3.2.9 です。プロジェクトのgemファイル

source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'pg', '0.14.1'

gem 'compass', git: 'git://github.com/chriseppstein/compass.git'
gem 'sass-rails',   '~> 3.2.3'
gem 'jquery-rails', '~> 2.0.0'

gem 'devise', '~> 2.0.0'
gem 'bootstrap-sass', '2.1.1.0'
gem 'simple_form', '2.0.4'

#gem 'refinerycms', '2.0.8'
gem 'refinerycms-dashboard'
gem 'refinerycms-images'
gem 'refinerycms-pages'
gem 'refinerycms-resources'

gem 'refinerycms-bootstrap', git: 'git://github.com/ghoppe/refinerycms-bootstrap.git'
gem 'rest-client', '1.6.7', require: 'rest_client'
gem 'hashie', '1.2.0'

gem 'faye'
gem 'restforce'

# gems from old site's gemfile
gem 'databasedotcom' # we may get rid of this
gem 'databasedotcom-rails' # we may get rid of this
gem 'haml'
gem 'will_paginate'
gem 'httparty'

gem 'ruby-openid', :git => "git://github.com/mbleigh/ruby-openid.git"
gem 'openid_active_record_store'
gem 'omniauth-twitter'
gem 'omniauth-github'
gem 'omniauth-facebook'
gem 'omniauth-linkedin'
gem 'omniauth-openid'
gem 'omniauth-salesforce'
gem 'savon'

gem 'redis'
gem 'aws-s3', :require => 'aws/s3' # no longer needed?
gem 'thin'
gem 'resque', :git => 'http://github.com/hone/resque.git', :branch => 'keepalive', :require => 'resque/server'
gem "recaptcha", :require => "recaptcha/rails"
gem 'flash_messages_helper'
gem 'remote_syslog_logger'
gem 'dalli'
gem 'encryptor'
gem 'airbrake'

gem 'chosen-rails'
gem 'fog'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'coffee-rails', '~> 3.2.1'
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby
  gem 'uglifier', '>= 1.0.3'
end

group :development, :test do
  gem 'annotate', '2.4.0'
  gem 'guard'
  gem 'guard-bundler'
  gem 'guard-rspec'
  gem 'spork'
  gem "guard-spork"
  gem 'growl'
  gem 'ruby-debug19'
  gem 'sqlite3'
  gem 'rspec-rails'
  gem 'sextant'
  gem 'quiet_assets'  
  gem 'vcr'
  gem 'rb-fsevent', '~> 0.9.1'
  gem 'sql-logging'
end

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
  gem "minitest"
  gem "rake"
  gem 'webmock'
  gem "mocha"
end

そして長く留まるラインは

ネイティブ拡張機能を使用して linecache19 (0.5.12) をインストールする

このプロジェクトのインストール方法を教えてください。

4

2 に答える 2

2

長い間ハングする理由は、何らかの理由で Ruby ソースを見つけることができず (ネイティブ拡張をビルドするときに特定のヘッダー ファイルが必要です)、再度ダウンロードするためであることがわかりました。パッケージはかなり大きく、サーバーは非常に遅く、負荷が高いため、長い時間 (30 分以上) がかかり、フィードバックがないために全体がハングしたように見えます。

これを行っているときに ^C で侵入すると、次のようなエラー メッセージが表示される場合があります。

/home/xxxx/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
checking for vm_core.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/xxxx/.rvm/rubies/ruby-1.9.3-p392/bin/ruby
        --with-ruby-dir
        --without-ruby-dir
        --with-ruby-include
        --without-ruby-include=${ruby-dir}/include
        --with-ruby-lib
        --without-ruby-lib=${ruby-dir}/lib
Requesting http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz

一番下の 2 行は、何が起こっているかの手がかりです。

「gem install」または「bundle config」で「--with-ruby-include」オプションを使用して、すでに持っているソースを強制的に使用できるようにする必要があると思いますが、私の(限定的な)テストでは、これらをテストしましたうまくいかなかったようで、何が起こっているのかを理解したら、あまり深く掘り下げませんでした。

これについて言及しているリンクをいくつか紹介します。

rvm 経由で Ruby 1.9.2 用の linecache19 をインストールする
https://github.com/mark-moseley/ruby-debug/wiki/Installation%3A-command-line-version

于 2013-03-21T15:30:21.317 に答える
2

最新の rubies 1.9+ では、いくつかの gem が好きruby-debugで、linecacheインストールするのが非常に面倒になります。ただし、代わりdebuggerに、debugger-linecache通常は問題を解決します。

于 2012-12-28T16:43:08.373 に答える