2012-11-06 1 views
1

Possible Duplicate:
ruby_threadptr_data_type error루비/레일`구조 디버그 = ': (RuntimeError에)

내가 루비/레일에 새로운 오전, 우분투 12.04에 내 환경 설정을 얻는 데 문제. 나는 rbenv (rvm이 아님)를 사용하고 있습니다. https://github.com/renderedtext/base-app

나는 웹 사이트

bundle install 
bundle exec rake db:setup db:test:prepare 
bundle exec rake spec 
bundle exec rake cucumber 

에 권장하는 명령을 실행하고 있습니다 : 나는 다음과 같은 안녕하세요 세계 응용 프로그램을 실행하려고

# clone rbenv and the ruby-build plugin 
git clone git://github.com/sstephenson/rbenv.git .rbenv 
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build 

# initialize rbenv 
export PATH=~/.rbenv/bin:$PATH 
rbenv init - 

# install ruby 1.9.2 
rbenv install 1.9.2-p320 
rbenv rehash 

# change ruby version to 1.9.2 
rbenv global 1.9.2-p320 

: 여기에 내가 루비를 설치하고있어 어떻게 다음 오류와 함께 bundle exec rake spec에서 실패합니다.

NOTICE: CREATE TABLE will create implicit sequence "roles_id_seq" for serial column "roles.id" 
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index "roles_pkey" for table "roles" 
NOTICE: CREATE TABLE will create implicit sequence "users_id_seq" for serial column "users.id" 
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index "users_pkey" for table "users" 
/home/ubuntu/.rbenv/versions/1.9.2-p320/bin/ruby -S rspec ./spec/models/role_spec.rb ./spec/models/user_spec.rb ./spec/controllers/admin/base_controller_spec.rb ./spec/controllers/admin/users_controller_spec.rb ./spec/controllers/pages_controller_spec.rb ./spec/helpers/pages_helper_spec.rb 
No DRb server is running. Running in local process instead ... 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:422:in `rescue in debug=': (RuntimeError) 
************************************************** 
/var/lib/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_threadptr_data_type - /var/lib/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so 

If you have it installed as a ruby gem, then you need to either require 
'rubygems' or configure the RUBYOPT environment variable with the value 
'rubygems'. 

/var/lib/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:1:in `require' 
/var/lib/gems/1.9.1/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:1:in `<top (required)>' 
/var/lib/gems/1.9.1/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `require' 
/var/lib/gems/1.9.1/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `<top (required)>' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:408:in `require' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:408:in `debug=' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration_options.rb:20:in `block in configure' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration_options.rb:19:in `each' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration_options.rb:19:in `configure' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:21:in `run' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:66:in `rescue in run' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:62:in `run' 
/var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun' 
************************************************** 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:407:in `debug=' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration_options.rb:20:in `block in configure' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration_options.rb:19:in `each' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/configuration_options.rb:19:in `configure' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:21:in `run' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:66:in `rescue in run' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:62:in `run' 
    from /var/lib/gems/1.9.1/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun' 
rake aborted! 
/home/ubuntu/.rbenv/versions/1.9.2-p320/bin/ruby -S rspec ./spec/models/role_spec.rb ./spec/models/user_spec.rb ./spec/controllers/admin/base_controller_spec.rb ./spec/controllers/admin/users_controller_spec.rb ./spec/controllers/pages_controller_spec.rb ./spec/helpers/pages_helper_spec.rb failed 

Tasks: TOP => spec 
(See full trace by running task with --trace) 

또한 서버가 이미 루비 1.9.1 (아마 apt-get 사용)을 설치 한 것 같지만 1.9.2를 사용하고 싶습니다. 그래서 rbenv를 설치했습니다.

또한 1.9.3을 사용하여 rbenv를 사용해 보았는데 동일한 오류가 발생했습니다.

다른 스택 오버플로 질문 (예 : ruby_threadptr_data_type error)의 답변을 조사하고 적용하려했지만 segfault가 발생했습니다. 또한, 내 연구에서 대부분의 답변은 rvm 및 1.9.3과 관련이있는 것 같았습니다 ... rbenv 및 1.9.2

도와주세요!

+0

그래서 실제로 트릭을했는데 ... 이제는 궁금한 점이 있습니다. 프로젝트는 16 명으로 갈아졌습니다.이 문제는 리눅스에서만 발생합니까? 아니면 모두를 위해 깨진 프로젝트입니까? –

+0

루비 - 디버그가 구식입니다, 나는 디버거를 사용하는 것이 장기적으로 더 나은 해결책이라고 믿습니다. –

답변

0

rspec에서 루비 디버그를로드 할 수없는 것 같습니다. 호기심이 있다면 Here's where it's happening. spec_helper.rb에 require 'rubygems'을 추가하는 것을 잊었을 것입니다. 이것을 수정하면 알려주세요.

UPDATE :

시도 Gemfile에서 gem 'ruby-debug19'을 제거하고 콘솔 bundle을 실행하고 다시 시도 gem 'debugger'로 대체. ruby-debug19는 유지되지 않으므로 원인이 될 수 있습니다. More about debugger. ruby-debug19 설치 지침에 대한 링크도 있습니다 (운이 좋으면).

+0

그는 Ruby 1.9x를 사용하고 있으므로'require rubygems'는 필요 없습니다. –

+0

안녕하세요, Vadim, specfile에 'rubygems'가 있어야합니다. https://github.com/renderedtext/base-app/blob/master/spec/spec_helper.rb –

+0

@RonaldBurgundy 답변을 업데이트했습니다. –