sourcecode

OS X "El Capitan"에 보석을 설치할 수 없습니다.

codebag 2023. 6. 27. 22:10
반응형

OS X "El Capitan"에 보석을 설치할 수 없습니다.

및 할 수 .fakes3엘 캐피탄 베타 5의 보석.

노력했습니다.

sudo gem install fakes3
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/fakes3

그리고 나서 저는 코코파드 방식으로 하려고 했습니다.그것은 코코파드에는 효과가 있었지만 가짜에는 효과가 없었습니다3.

mkdir -p $HOME/Software/ruby
export GEM_HOME=$HOME/Software/ruby
gem install cocoapods
[...]
1 gem installed
gem install fakes3
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

고지 사항: @TinMan과 다른 루비 개발자들은 종종 사용하지 말라고 지적합니다.sudo보석을 설치하고 RVM과 같은 을 가리킬 때.루비 개발을 할 때는 절대적으로 맞습니다.어서 그것을 사용하세요.

우리 중 사람들은 되는 ( 그러우리중많예사보은배석람로으원일합이다니을진법부포는되들은나예▁that▁however(:원▁(▁binary합다▁want:fakes3,cocoapods,xcpretty이 아닙니다...) 루 를 따 로 관 신 쓰 을 싶 않 지 습 니 다 고 경 비 전 혀 데 는 리 하 는 ▁… 않 니 다 습 ▁i .. .. 싶 지 ▁a 루 쓰 ▁with ▁ruby ▁separate itely옵션은 다음과 같습니다.

옵션 1: sudo를 계속 사용합니다.

용사를 합니다.sudo이러한 도구를 전체적으로 설치하려는 경우에는 문제가 없을 것입니다.

는 이 이 문는이바다설것입다니에 되어 있다는 입니다./usr/bin엘 캐피탄 이후로 출입금지야그러나 설치할 수 있습니다./usr/local/bin대신.그곳이 홈브루가 물건을 설치하는 곳이기 때문에 아마 이미 존재할 것입니다.

sudo gem install fakes3 -n/usr/local/bin

은 보이설니다에 입니다./usr/local/bin시스템의 모든 사용자가 자신의 경로에 있는 경우 이를 사용할 수 있습니다.

옵션 2: 홈 디렉토리에 설치(sudo 없이)

은 다은보석설것입다니치에 입니다.~/.gem를 진이파저다니에 넣습니다.~/bin (으)로 .PATH).

gem install fakes3 --user-install -n~/bin

기본값으로 설정

쪽이든 이 를 어느쪽든, 이한매변다추있수다에 할 수 .~/.gemrc그래서 당신은 그들을 기억할 필요가 없습니다.

gem: -n/usr/local/bin

echo "gem: -n/usr/local/bin" >> ~/.gemrc

또는

gem: --user-install -n~/bin

echo "gem: --user-install -n~/bin" >> ~/.gemrc

(팁: 추가할 수도 있습니다.--no-documentRuby 개발자 문서 생성을 건너뜁니다.)

저의 경우, 저는 Brew를 사용하여 Ruby를 다시 설치해야 했습니다.보석을 다시 설치할 수 있어서 문제가 해결된 것 같습니다.

brew install ruby

그런 다음 로그아웃했다가 다시 로그인해야 합니다. 그래픽으로 로그아웃하거나 터미널을 다시 시작하기만 하면 됩니다.

OS X '엘 캐피탄'의 새로운 보안 기능 때문입니다.추가시를 추가해 .--user-installsudo를 사용하는 :

$ gem install *** --user-install

예를 들어 fake3을 설치하려면 다음을 사용합니다.

$ gem install fake3 --user-install
sudo gem install -n /usr/local/bin cocoapods

이거 먹어봐요.그것은 분명히 효과가 있을 것입니다.

Xcode를 최신 버전(v7.0.1)으로 업데이트해야 모든 것이 정상적으로 작동합니다.

최신 Xcode를 설치한 후에도 여전히 작동하지 않으면 다음과 같은 방법으로 gem을 설치해 보십시오.

sudo gem install -n /usr/local/bin GEM_NAME_HERE

예:

sudo gem install -n /usr/local/bin fakes3
sudo gem install -n /usr/local/bin compass
sudo gem install -n /usr/local/bin susy

OS X El Capitain으로 업그레이드할 때 /usr/local 디렉토리가 여러 가지 방법으로 수정되는 것처럼 보입니다.

  1. 사용자 권한이 재설정됩니다(이것은 홈브루를 사용하는 사람들에게도 문제가 됩니다.
  2. 이진 및 심볼 링크가 삭제되거나 변경되었을 수 있습니다.

[편집] 예비적으로 해야 할 일도 있습니다: Xcode 업그레이드...

#1을 위한 솔루션:

$ sudo chown -R $(whoami):admin /usr/local

그러면에대수권다니정됩한이용사에 사용 됩니다./usr/local그러면 두 가지 모두에 도움이 되는 디렉토리.gem install그리고.brew install|link|...명령이 제대로 작동합니다.

#2에 대한 솔루션:

루비 기반 문제

사권한수확다인니합지의 합니다./usr/local 참조)는 다음과 같습니다.

먼저 다음을 사용하여 보석을 다시 설치해 보십시오.

sudo gem install <gemname>

지정된 보석의 최신 버전이 설치됩니다.

버전과의 문제를▁it▁you▁with▁of▁if좋다▁i니습,▁reinstall▁and▁then-▁version▁gem▁which와 함께 다시 설치하는 것을 제안합니다.-v version아래 예제를 참조하여 시스템에 새로운 버전의 카피스트라노가 없는지 확인하십시오.

$ gem list | grep capistrano
capistrano (3.4.0, 3.2.1, 2.14.2)
$ sudo gem install capistrano -v 3.4.0

Brew 기반 문제

공식 업데이트 및 업그레이드

$ brew update
$ brew upgrade

일부를 수동으로 다시 연결해야 할 수도 있습니다.

$ brew link <formula>

이미 말했듯이, 이 문제는 "엘 캐피탄" 이후 Mac OS X의 보안 기능에서 발생합니다.

기본 시스템 Ruby를 사용하면 설치 프로세스가 다음에서 발생합니다./Library/Ruby/Gems/2.0.0사용자가 사용할 수 없는 디렉터리이며 오류를 제공합니다.

다음 명령을 사용하여 Ruby 환경 매개 변수를 확인할 수 있습니다.

$ gem env

설치 디렉토리와 사용자 설치 디렉토리가 있습니다.디렉토리 하려면 " " " " 를 사용할 수 있습니다.--user-install를 대신 합니다.sudo절대 권장되지 않는 방법입니다.

$ gem install myGemName --user-install

그 과정에서 더 이상 권리 문제가 있어서는 안 됩니다. 보석은 디렉토리에 됩니다.~/.gem/Ruby/2.0.0/bin

그러나 설치된 보석을 사용할 수 있도록 하려면 이 디렉터리를 경로에서 사용할 수 있어야 합니다.Ruby의 FAQ에 따르면 다음 행을 추가할 수 있습니다.~/.bash_profile또는~/.bashrc

if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

하거나 "" "" "" "" "" "" ""를 로드합니다..bash_profile또는.bashrc(. ~/.bash_profile)

제가 사용한 솔루션은 다음과 같습니다.

참고: 이 수정은 다른 SO 질문에 기록한 대로 나침반에 대한 것이지만, 저는 모든 터미널 프로세스에 기능을 복원하기 위해 동일한 프로세스를 사용했습니다. 분명히 설치하는 보석은 다르지만 프로세스는 동일합니다.

저도 같은 문제가 있었습니다.이는 Apple이 SIP(시스템 무결성 보호)를 구현했기 때문입니다.먼저 사용하지 않도록 설정해야 합니다.

복구 모드에서 재부팅:

애플 로고가 보일 때까지 Command + R을 재부팅한 상태로 유지합니다.

부팅되면 상단 바에서 유틸리티 > 터미널을 선택합니다.

유형:csrutil disable

다음을 입력합니다.reboot

재부팅 후

터미널 백업을 열고 다음 명령을 입력합니다.

sudo gem uninstall bundler

sudo gem install bundler

sudo gem install compass

sudo gem install sass

sudo gem update --system

실패한 개별 보석을 수정해야 하므로 각 보석에 대해 다음 작업을 수행합니다.

내 컴퓨터에서 이것이 작동하지 않는번째 종속성이었기 때문에 나는 그것을 나열했습니다:

sudo gem pristine ffi --version 1.9.3

수리가 필요한 보석 목록을 진행합니다.전체적으로 약 10분 동안 문제를 해결할 수 있지만 나침반 작동을 위한 터미널 명령이 있을 것입니다.

스크린샷

설치하려는 보석에 xml 라이브러리가 필요한 경우 다음을 시도하십시오.

sudo gem install -n /usr/local/bin  <gem_name> -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/

구체적으로 OS X El Capitan에 nokogiri gem v 1.6.8을 설치하는 동안 문제가 발생했습니다.

그리고 이것은 마침내 나에게 효과가 있었습니다.

sudo gem install -n /usr/local/bin  nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/

libxml2 및 libxslt를 설치하려면 다음을 수행합니다.

brew install libxml2 libxslt
brew install libiconv

그런 다음 xcode 명령줄 도구가 설치되어 있는지 확인합니다.

xcode-select --install 

다음 오류를 반환해야 합니다.

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

RVM을 다시 설치하는 것이 효과적이었지만, 이후 모든 보석을 다시 설치해야 했습니다.

rvm implode
\curl -sSL https://get.rvm.io | bash -s stable --ruby
rvm reload

El Capitan을 설치한 후 동일한 문제를 발견했습니다. sass와 나침반을 symphony 프로젝트에 설치하려고 했는데 다음 명령이 다음 오류를 반환했습니다.

sudogem 설치 나침반

오류: 나침반 설치 오류: 오류: 보석 네이티브 확장을 빌드하지 못했습니다.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 

ffi.h를 확인하는 중.../System/Library/Frameworks/Ruby.frameworks/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:434:in 'try_do':컴파일러가 실행 파일을 생성하지 못했습니다. (RuntimeError)

그래서 저는 sass를 설치하려고 했습니다: $ sudogem install sass.

동일한 오류 메시지가 표시되었습니다. 약간의 검색 후 다음 명령을 사용하여 sass를 설치했습니다.

sudogem 설치 -n /usr/local/binsasss

위의 것들은 sass 설치는 저에게 효과가 있었지만 나침반 설치는 효과가 없었습니다.나는 누군가가 xcode의 인스턴스를 열었다가 다시 닫았고, 그 후 동일한 명령을 성공적으로 실행했다는 것을 읽었습니다.xcode를 열려고 했지만 설치된 xcode 버전이 El Capitan과 호환되지 않는다는 메시지가 나타납니다.그래서 앱스토어에서 xcode를 업데이트하고 다음 명령을 다시 실행하여 이번에는 성공적으로 실행했습니다.

sudogem 설치 - n /usr/local/bin 나침반

그때 나는 그 안에서 $ 나침반을 돌릴 수 있었습니다.

나는 이제 모든 보석이 작동하고 사랑스러운 sass 물건을 만들 수 있습니다 :)

해야만 했어요rm -rf ./vendor그 다음에 달려라bundle install한 번

두 가지 옵션이 있을 수 있습니다.

  1. 레일을해 볼 수 .
    rvm fix-permissions 
    
  2. 를 완전히 하고, 당신의 루비에 할 수 .~홈 디렉토리라고 하는 디렉토리입니다.

홈브루를 사용하는 경우 명령은 다음과 같습니다.

brew uninstall ruby

홈브루가 없는 레일 제거의 경우 명령은 다음과 같습니다.

rvm remove

다음 명령을 실행하여 최신 루비를 다시 설치합니다.

curl -L https://get.rvm.io | bash -s stable --rails<br>

Mac에는 2.6.3 공장이 설치되어 있습니다. 필요한 것은...이 명령을 실행하지 않을 경우:

rvm install "ruby-2.6.3"

다음과 같은 경우:

gem install rails

마지막에 다른 번들을 추가해야 한다는 오류 메시지가 표시됩니다.
집에 하세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ~설치할 때 디렉터리를 사용하면 권한에 문제가 없습니다. 하지만 만약을 위해...

나는 다시 달렸습니다.

rvm fix-permissions

그리고:

rvm debug

실을 다운로드해야 한다고 해서 출력물을 저장하지 않았습니다.기본적으로 OS와 관련이 있다면 프롬프트가 시키는 대로 했습니다.

-D

저는 sudo로 물건을 설치하는 것을 좋아하지 않습니다.일단 sudo로 시작하면 멈출 수 없습니다.

Gems 디렉터리에 권한을 부여합니다.

sudo chown -R $(whoami) /Library/Ruby/Gems/2.0.0
sudo chown -R $(whoami):admin /usr/local

그러면 사용 권한이 반환됩니다(홈브루는 그곳에 루비를 설치합니다).

언급URL : https://stackoverflow.com/questions/31972968/cant-install-gems-on-os-x-el-capitan

반응형