2011-07-05 2 views
0

그래서 bundle install을 실행하려고하면 mysql-2.8.1.gem에 오류가 발생합니다. 나는 명령을 정리하려고했지만 여전히 같은 오류가 발생합니다. 이 오류 메시지입니다 :mysql-2.8.1 보석 오류

위의 의견에 명시된 바와 같이

Fetching: mysql-2.8.1.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /usr/local/lib/ruby/gems/1.8 directory.

+1

rubygems에 홈 디렉토리에 설치할 것을 알릴 수 있습니다. 사용자 또는 사용자가 시작한 사용자에게 폴더에 대한 권한이 없음을 알립니다. –

+0

어떻게 권한을 변경할 수 있습니까? 폴더. 나는 유일한 사용자입니다. – conpill

+0

수퍼 유저로 이동하려면 투표를해야합니다. 프로그래밍 문제는 아닙니다. * nix를 사용하고 있는지 알고 싶다면 우분투? –

답변

0

Rubygems는 기본적으로 시스템 전체에 대한 액세스를 위해 보석을 설치하려고하지만 홈 디렉토리의 디렉토리에 설치할 수있는 모드를 가지고 있습니다.

하나의 옵션은 gem sytemwide를 설치하는 것입니다. 루트 권한이 필요합니다. 대부분의 최신 리눅스 배포판에서는 sudo gem install ...을 사용하여이를 수행 할 수 있습니다.

정말로 홈 디렉토리에 넣고 싶다면 일반 사용자로 설치하려고 할 때 rubygems가 홈 디렉토리에 보석 설치로 자동 전환되도록 구성되어 있지 않다는 것을 알아야합니다. 특별히 홈 디렉토리에 gem을 설치한다고 표시하지 않는 한 오류 메시지 (여기에서 보는 오류 메시지)를 선호합니다. gem install --user-install ...

+0

문제를 발견했습니다. 방금 mysql을 다시 설치했습니다. 모두에게 감사드립니다. – conpill

2

, 이것은 권한 문제이며, 그것은 프로그래밍 문제가 아니에요 이후는 수퍼 유저로 이동하는 것이 올바른 것입니다.

실제로 어떤 일이 벌어지고 있는데, 번들 설치를 실행하고 rvm을 사용하지 않을 때 번들은 새롭게 번들 된 보석을/usr에있는 기본 보석 디렉토리에 저장하려고 시도합니다.

일반 사용자에게는이 디렉토리에 대한 쓰기 권한이 없습니다. sudo를 사용하여 동일한 명령을 실행 해 볼 수 있습니다 (예 : sudo bundle install). 그럴 수도 있습니다.

정말 보석 세트를 깨끗하게 유지하는 데 도움이되고 이러한 문제에 부딪치지 않으므로 rvm을 다음과 같이 사용하는 것이 좋습니다.

+1

[번들 설치 맨 페이지] (http : //)의 지침에 따라'sudo bundle install'을 사용하지 마십시오. gembundler.com/man/bundle-install.1.html) –