OS X 10.9의 루비 확장 기능이 빌드되지 않았기 때문에 gem 무시 할 수 없음) 에서 Ruby

knifeOS X (Linux, FreeBSD 등의 다른 환경에서는 복제 할 수 없음) 에서 Ruby CLI (특히 Chef 용 유틸리티 사용)에서 다양한 작업을 수행 할 때 며칠마다 이러한 상황이 발생 합니다.

Ignoring bcrypt-3.1.7 because its extensions are not built.  Try: gem pristine bcrypt-3.1.7
Ignoring bigdecimal-1.2.5 because its extensions are not built.  Try: gem pristine bigdecimal-1.2.5
Ignoring ffi-yajl-1.1.0 because its extensions are not built.  Try: gem pristine ffi-yajl-1.1.0
Ignoring gem-wrappers-1.2.5 because its extensions are not built.  Try: gem pristine gem-wrappers-1.2.5
Ignoring gem-wrappers-1.2.4 because its extensions are not built.  Try: gem pristine gem-wrappers-1.2.4
Ignoring pg-0.17.1 because its extensions are not built.  Try: gem pristine pg-0.17.1
Ignoring psych-2.0.6 because its extensions are not built.  Try: gem pristine psych-2.0.6
Ignoring sqlite3-1.3.9 because its extensions are not built.  Try: gem pristine sqlite3-1.3.9

그리고 간단한 수정이지만 계속 발생합니다. 아무도 전에 이것을 본 적이 있습니까?

$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-darwin11.2.0]


답변

나는 최근의 전환 rvmchruby와 실행 된 gem update --system문제가 나에게 발생하기 시작하면 그게 전부. 그 후, 번들을 달릴 때마다 같은 경고로 학살되었습니다. 여전히 문제의 원인이 확실하지 않습니다.

Ignoring curb-0.8.6 because its extensions are not built. Try: gem pristine curb-0.8.6

무엇이 수정되었는지 확실하지 않지만 2 가지를했는데 경고가 사라졌습니다.

gem uninstall bundler
gem install bundler

gem install curb

답변

내 경우에는 설치 후이 오류가 표시되기 시작합니다. rvm

나는 다음과 같은 문제를 해결한다. gem pristine --all


답변

gem이 현재 실행중인 다른 libruby에 대해 컴파일 된 경우이 문제가 발생합니다. 예를 들어, chruby와 함께 홈 디렉토리에있는 루비를 사용하고 gem을 ~ / .gem / ruby에 설치하지만 / usr / bin / ruby를 호출하는 스크립트를 실행하면 그곳에 설치된 gem을 재사용합니다. 이 경우 gem pristine --all보석은 하나의 루비 버전에 대해서만 연결할 수 있기 때문에 도움이되지 않습니다.


답변

나는 이것을 수정했다.

rvm get stable

https://github.com/rvm/rvm/issues/3348


답변

이것은 MacOs Sierra에서 나를 위해 일했습니다.

xcode-select --install
gem install nokogiri

위의 명령을 실행하기 전에 전체 xcode를 이미 설치했지만 어쨌든 첫 번째 스크립트가 일부 내부 라이브러리 / 종속성을 업데이트하기 때문에이 작업을 수행해야했습니다.


답변

올바른 버전의 루비에 대해 “gem pristine –all”을 실행하고 있는지 확인하십시오. / usr / bin / ruby가 호출되면 … “/ usr / bin / gem pristine –all”을 사용하십시오. rvm을 사용 중이고 10 버전의 루비가 설치되어있는 경우에는 명확하지 않습니다.

이것은 하루 동안 내 문제를 해결 한 다음 돌아 왔습니다.

보다 영구적 인 해결책은 기본 루비가 설치된 OSX 버전 / usr / bin / ruby ​​및 / usr / bin / gem이되도록 “rvm reset”을 수행하는 것입니다. 프로젝트에 최신 버전의 루비를 사용하려면 프로젝트 루트 디렉토리에서 .ruby-version 및 .ruby-gemset을 사용하여 사용하려는 루비 버전을 명시 적으로 설정하십시오. 이상적이지 않지만 …이 오류를 해결해야합니다.