2015-01-31 10 views
3

Gemfile에 두 개의 보석 모두 동일한 상수 세트를 정의하고 있습니다. 두 개의 보석은 sentiment_libengtagger입니다. 나는이 같은 10 개 이상의 경고를 얻을 작업을 실행할 때마다Gemfile 상수 재 정의, "경고 : 이미 초기화 된 상수"

이 의미 :

...engtagger/porter.rb:6: warning: already initialized constant Stemmable::STEP_2_LIST 
...stemmer/porter.rb:10: warning: previous definition of STEP_2_LIST was here 

같은 파일 그냥 모두가 문제가되지 년대에 사용되기 때문에이 -하지만 경고 성가신 얻을 시작 .

이 문제를 해결하려면 어떻게해야합니까?

+0

porter.rb의 내용은 클래스입니까 아니면 모듈입니까? 그리고 그것에 대한 경로는 무엇입니까? 번들 프로그램을 실행하십시오. – neo

+0

https://github.com/yohasebe/engtagger/blob/master/lib/engtagger/porter.rb 형태소 분석기와 동일합니다. 실질적으로 동일합니다. –

답변

1

포크로 시작할 것입니다 engtagger 다른 보석을 통해 이미 시작된 상수가있는 파일을 제거하고 새로 만든 포크에 변경 사항을 커밋하십시오.

gem engtagger, github: 'your_github_handle/engtagger' 

그런 다음 bundle update engtagger

지금 당신이 모듈없이 번들 engtagger가 있어야 실행하여 Gemfile

에 추가합니다.

우리가 상수를 다루지 않는다면, 모듈 평가를 권할 것이지만 일단 설정 한 상수는 변경 될 수 없으므로 작동하지 않을 가능성이 높습니다. 그러므로 경고 메시지입니다.

+0

쿨 - 나는 쉬운 방법이 있기를 바랐다. 다른 제안이있을 경우를 대비하여 대답을 받아 들일 수 없습니다. 그렇지 않다면 나중에 받아 들일 것입니다. 감사. –

+0

확실히 다른 방법이 있지만 상수를 다루는 것이 어려울 수 있습니다. 더 쉬운 방법이 있는지 알고 싶습니다. – neo