2013-04-30 4 views
0

보석을 설치하려고하는데, Windows x64의 Ruby 2.0에서 작동하려면 a line needs to be commented out in the source을 입력하십시오.보석을 컴파일 할 때 소스를 덮어 쓰지 않으려면 어떻게해야합니까?

Ruby 빌드 폴더에서 Gem 소스를 수정하려고 시도했지만 실행 할 때마다 gem install eventmachine이 변경 사항을 덮어 씁니다. 커맨드 라인 도움말에서 신선한 소스를 풀지 않고도 보석을 다시 만들 수있는 방법이없는 것 같지만 해결 방법이있을 수 있습니다.

이 보석에 대한 약간의 조정 소스를 만드는 방법이 있습니까?

답변

1

그런 보석을 설치하지 마십시오. 대신 자신의 버전을 빌드하고 빌드 프로세스의 일부로 생성 된 .gem 파일의 경로를 지정하여 대신 해당 버전을 설치하십시오. 나는이 권리를 얻을 수있는 가장 쉬운 방법을 발견했습니다

는 포크를 만들려면 Gemfile에 포크의 git 경로를 설정하고, 일을 컴파일하고 올바르게 설치 돌볼 것 bundle install하는 것입니다.

+0

를 사용하여 구축 할 수 있습니다. Ruby를 처음 접했을뿐입니다 (AppFog의 클라이언트를 실행하기 위해 컴퓨터에만 있습니다). 나는'Gemfile'이라는 파일을 만들어 임의의 디렉토리에 포함하려고 시도했다. 'gem '이벤트 머신을 포함하고 있습니다 : git =>'git : // github.com/brendanarnold/eventmachine.git'', 그 디렉토리에서'gem install eventmachine'을 실행합니다. 그래도 여전히 공식을 다운로드하는 것 같습니다 출처 - 내가 잘못하고있는거야? – Brendan

+0

아, 나는'bundle'을 사용하지 않았고'gem'을 사용했습니다. 아마도 작동 할 것입니다. 그러나 어쨌든 다른 방식으로 작동 시켰습니다! – Brendan

+0

네,'gem install '은 로컬'.gem' 파일에 대한 경로를주지 않으면 정규 소스에서 항상 꺼내옵니다. 'bundle install '은 사용자 정의 빌드를 포함하여'Gemfile'에서 철자가 무엇이든 할 것입니다. – tadman

1

@tadman의 도움을 받아서 알았습니다.

gem에 의해 다운로드 된 공식 소스를 조정하지 않고 소스에서 로컬로 설치하고 덮어 쓰지 않도록 막았습니다. 이 루트 디렉토리에 .gemspec 파일이있는 경우

  • 소스
  • 에 변경 내용을 확인 Github에서 (또는 어디든지)에서

    • 복제 로컬 ... 정확한 단계는
      • 열기 터미널에 입력하고 gem build GEMNAME.gemspec
      • 을 입력하십시오. 마지막으로 입력하십시오. gem install GEMNAME-VERSION.gem
    • 이 아니라 "보석"또는 "빌드"또는 이와 유사한라는 파일이있을 경우 16,
    • 는, 당신은 응답을, 안녕하세요 덕분에 rakeaccording to this reply
  • +0

    참고로, 소스가 Gem을 컴파일하고 설치했지만 코드에서 실제로 사용할 때 작동하지 않는 것으로 나타났습니다. 이 글을 읽는 누군가가 Windows x64에'eventmachine'을 설치하려고한다면, 결국 Ruby 1.9.3 32 비트로 전환하고 거기에서 작업하는 것이 더 쉬워졌습니다. 즉, eventmachine을 컴파일하고 AppFog 클라이언트를 실행할 수 있습니다. – Brendan

    관련 문제