2013-05-29 2 views
14

나는 방황 설정을하고 있는데, 그 중 일부가 rbenv를 설치하고있다. 나는 모든 요리사 요리 책을 관리하기 위해 사서 겸 주방장을 사용하고 있으며 rbenv와 ruby-build를 설치합니다. 내 방랑 VM에 SSH 및 ruby -v를 입력하려고 할 때시스템 전체 또는 사용자 수준에서 rbenv를 설치해야합니까?

그러나, 내가 가진 표준 시스템 설치 ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]을. 어쩌면 rbenv가 설치되지 않았 음을 생각, 나는 rbenv versions를 실행했지만, 사실 rbenv 설치 :

[email protected]:~$ rbenv versions 
* system (set by /opt/rbenv/version) 

을 그럼 내가 rbenv install [version]을 시도 :

[email protected]:~$ rbenv install 1.9.3-p327 
[...] 

BUILD FAILED 
[...] 

test -z "/opt/rbenv/versions/1.9.3-p327/include" || /bin/mkdir -p "/opt/rbenv/versions/1.9.3-p327/include" 
/bin/mkdir: cannot create directory `/opt/rbenv/versions/1.9.3-p327': Permission denied 

Permission denied에 실패.

sudo rbenv install 1.9.3-p327 

을 그리고 그 일 : 나는 sudo 다시 설치했습니다.

[email protected]:~$ rbenv versions 
* system (set by /opt/rbenv/version) 

을하지만 여전히 system 루비가 설치된 말한다 : 그럼 다시 rbenv versions를 실행 해 보았다. 그러나, 나는 sudo 그것을 실행하는 경우 :

[email protected]:~$ sudo rbenv versions 
* system (set by /home/vagrant/.rbenv/version) 
    1.9.3-p327 

rbenv versions 지금 1.9.3가 설치된 보여줍니다.

따라서 rbenv와 루비 버전은 이제 사용자 수준이 아닌 시스템 수준에 설치된다는 점에서 연결이 끊어지는 것 같습니다.

나는 rbenv-cookbook을 사용하고 있습니다. 나는 요리사와 함께 rbenv를 설치하고 싶습니다. 설치를 수동으로 설정하지 않아도되기 때문입니다.

내가 겪고있는 다른 문제는 마치 gem과 같이 루비가 제어하는 ​​모든 것이 같은 연결이 끊어지는 것과 같습니다. rbenv의 추가 정보에

[email protected]:~$ gem install bundler 
Fetching: bundler-1.3.5.gem (100%) 
ERROR: While executing gem ... (Gem::FilePermissionError) 
    You don't have write permissions into the /opt/vagrant_ruby/lib/ruby/gems/1.8 directory. 

답변

14

약 2 년 전, 질문에 대답하는 것처럼 보인 공유 설치에 대해서는 discussion happened in github입니다.

시놉시스 : sstephenson (rbenv 작성자는) 특히 그는 강력한 지원이 더 복잡 rbenv 만들 것입니다 추가 믿고 등을 쓰기 액세스를하기 때문에 권한이있는 복잡성의 전체 시스템을 설치합니다 장려 좋아하지 않으며, 단순 목표입니다 .

편집

난 이후 실제로 시스템 전체 rbenv를 설치하려는 경우 right and proper method 제공, fnichol의 요리사 rbenv 요리 책, 건너는데, 당신이 요리사로를 자동화 할 수 있습니다 (I 나이프 솔로 추천).

/etc/profile.d/에 설치되므로 모든 사용자에 대해 실행됩니다 (putting the proper ruby into the PATH).

+0

"올바른 올바른 방법"링크가 깨졌습니다. – Volte

1

모든 그래서 공식 추천은 사용자 단위로 설치하는 것으로 가정 할 ~/.rbenv/에서 로컬 (사용자 별) 설치를 가정합니다.

그래도 전역으로 설치할 수 있습니다. 그러나 쓰기 권한이 필요한 모든 명령에 대해서는 sudo이 필요합니다. 새로운 루비 설치, 보석 설치 * 및 글로벌 루비 버전 변경은 내 마음에 오는 것들입니다.

(*) debian에 apt와 같은 기본 시스템 루틴을 통해 루비를 설치할 때 sudo가 필요하다. sudo가 필요 없다는 것은 실제로 작동하는 루비 버전 관리자를 사용하는 긍정적 인 부작용이다. 사용자 당 기준

+0

이 문서는 지침이 있습니다 : http://blakewilliams.me/blog/4-system-wide-rbenv-install 또한 그룹을 staff로 변경하고 그룹 권한을 부여하고 고정 비트를 설정하므로 설치가 가능합니다 모든 사용자의 루비를 사용하십시오. 나는 이것이 권장되는지 확실하지 않으며, 왜 또는 왜 확신 할 수 없다. – Duke

13

rbenv는 사용자 수준에서 설치해야합니다.

불행하게도,이 gem install을 실행할 때, 당신은 당신이 본 문제에 실행할 수 있다는 것을 의미한다 : 당신은 ~/.rbenv 디렉토리에 올바른 사용 권한을 설정하여이 문제를 해결할 수

You don't have write permissions into the {...} directory 

.

sudo chown -R yourusername ~/.rbenv 

디렉토리를 보내고 chown 후에는 sudo없이 gem install을 실행 할 수 있습니다.

+0

정말 고마워요! – thomallen

관련 문제