2011-02-11 2 views
0

~ .irbrc에 내 .irbrc가 있습니다.레일스가 내 irbrc 설정을 찾고있는 다른 위치가 있습니까?

Rails 3.x 응용 프로그램에서 'rails console'을 실행하면 보석을 찾고 있다는 것을 알게되었습니다.

Gems missing: no such file to load -- ap 

그러나 레일즈 2.x 앱에서 'irb'또는 'script/console'을 실행하면 모든 것이 제대로 작동합니다.

레일즈 3가 irbrc 구성을 찾는 다른 위치가 있습니까?

는이 정보가 적용 있는지 확실하지 않습니다,하지만 난 내 상자 (우분투)

답변

5

방금 ​​알아 냈습니다. 같은 문제가있는 다른 사람들을 위해 여기에 붙여 넣은 것 같습니다. 당신은 레일의 Gemfile에 3 응용 프로그램을 시스템 보석을 추가해야합니다 http://matthewhutchinson.net/2010/9/19/rails-3-bash-aliases-and-irbrc-configs/page/2

(Bundler를 문제)에 따르면

.

나는 위의 작업을 수행했다. https://gist.github.com/2643079가 지금까지 발견 한 가장 우아한 해결책처럼

업데이트

보인다. 그것은 꽤 잘 작동합니다.

+0

이 문제를 해결 한 경우 정답을 직접 수여하십시오. –

+1

개발 젬을 Gemfile에 추가하는 것은 문제를 해결하는 반면, 다른 환경을 사용하는 팀의 일원으로 일하는 것은 좋지 않습니다. 그들은 dev 젬을 사용하지 않아야하며 어떤 경우에는 (특히 윈도우에서) 젬을 설치하려고 할 때 에러가 발생할 수 있습니다. 만약 당신이 혼자서 작업한다면, 또는 모두 똑같은 도구를 사용한다면 괜찮습니다. 그러나 그것은 당신이 알고 있어야하는 것입니다. – idlefingers

+0

@idlefingers 팀 환경에서이 문제를 해결하기 위해 어떻게 제안 하시겠습니까? –

1

이 때문에 들러이며 방법은 비활성화 시스템 보석이다에 RVM을 실행하고 있습니다. 이 문제를 해결할 수있는 여러 가지 제안 된 방법이 있지만 그 중 아무 것도 완벽하지 않습니다 (제안 사항에 대해서는 번들러에 this ticket 참조).

+0

"이것은 묶음 때문에 발생하며 시스템 보석을 비활성화하는 방법입니다." 그것은 부분적으로 그것 때문이며 부분적으로 레일즈가 콘솔을 제공하기 위해 IRB를 피기 백 (piggyback)하고 Rails 앱에서 사용하는 보석을 캡처하여 관리 할 수 ​​있도록하기 위해 bundler를 사용하기 때문입니다. Rails는 Rails와 Rails가 아닌 Ruby 앱을 작성하고 IRB를 많이 사용하는 사용자에게는보다 밀착성이 있고 침입이 덜 필요한 항목이 필요합니다. 이것은 주기적으로 나를 붙잡는다. 그리고 나는 멈춰서야한다. 그리고 "what 's going on ?!" –

+0

@ the-tin-man, 나는 동의하지 않는다. OP가 설명하는 문제는 순전히 bundler 때문입니다. 그래서 그는 개발 젬을 젬 파일에 추가하여 그를 위해 고쳤습니다. 레일 콘솔 작업 방식은 기본적으로 레일 env를로드하고 irb를 시작하는 것입니다. 이것은 가능한 최소한의 간섭 방식이며 irb가 작동하는 방식에는 영향을 미치지 않습니다. 단지 irb가 많은 것들을 추가합니다. [여기] (https://github.com/rails/rails/blob/master/railties/lib/rails/commands.rb#L33) 및 [여기] (https://github.com/rails/rails/)를 참조하십시오. blob/master/railties/lib/rails/commands/console.rb)이 무엇을하는지 봅니다. – idlefingers

관련 문제