2011-04-27 3 views
1

내 홈 디렉토리가 마운트 된 NFS 공유이고 로컬 루트에 내 사용자 디렉토리를 입력 할 수있는 권한이 없으며 번들러가 캐시 된 폴더를 제거 할 때 오류가 발생합니다. (아래 '번들 설치'의 샘플 출력을 참조하십시오.)~/.bundler 디렉토리 위치를 어떻게 변경합니까?

가능하면 ~/.bundler 디렉토리를 로컬 디스크로 옮기고 싶습니다. 필자는 보석과 rvm 폴더를 옮길 수 있었지만, 필자는 번들러 디렉토리를 변경할 위치를 알 수 없었습니다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

$ bundle install 
Checking out files: 100% (140/140), done. 
Checking out files: 100% (9/9), done. 
Fetching source index for http://rubygems.org/ 
Enter your password to install the bundled RubyGems to your system: 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/rake-0.8.7.gem': Permission denied 
Using rake (0.8.7) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/abstract-1.0.0.gem': Permission denied 
Using abstract (1.0.0) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/activesupport-3.0.7.gem': Permission denied 
Using activesupport (3.0.7) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/builder-2.1.2.gem': Permission denied 
Using builder (2.1.2) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/i18n-0.5.0.gem': Permission denied 
Using i18n (0.5.0) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/activemodel-3.0.7.gem': Permission denied 
Using activemodel (3.0.7) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/erubis-2.6.6.gem': Permission denied 
Using erubis (2.6.6) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/rack-1.2.2.gem': Permission denied 
Using rack (1.2.2) 
mv: cannot remove `/auto/home2/borgnk/.bundler/tmp/9517/cache/rack-mount-0.6.14.gem': Permission denied 
... 

답변

1

그것은 당신이 a를 bundler.rb 파일을 보면이 상당히 하드 코딩처럼 보인다. Bundler를 포크로 바꾸고 변경을하는 것이 최선의 방법이라고 말하고 싶습니다. 또는 항상 submit a feature request 일 수 있습니다.

3

bundle 설치 프로그램에 인수를 전달하여 설치하는 방법 당신은 항상 사용자 정의 할 수는 :

bundle install --path /some/path 

이 공유 디렉토리가 서로 다른 플랫폼이나 루비가 사용됩니다 강조 표시, 또는 경우에 경우에 유용합니다 버전.

업데이트는 :

이 효과 ~과 같이 해석 어떤 변경 작동합니다 무언가를 할 수 있도록 $HOME 환경 변수를 설정하여 ~/.bundler 디렉토리 위치를 다시 할 수 있어야한다. Bundler는 Gem.user_home 메서드를 사용하여이 파일을 저장할 위치를 결정한 것으로 보이므로 가짜로 설정하면 설정됩니다.

HOME=/some/home bundle install --path /some/path 
+1

나는 케빈이 .bundler 폴더를 옮기려고한다고 생각한다. 설치된 곳이 아닙니다. 기본적으로 보석은 기본 시스템 위치에 설치됩니다. 경로가 변경됩니다. 그러나 여전히 bulder는 .bundler 아래에 보석을 캐쉬 할 것입니다. – thekindofme

+0

몇 가지 설명을 추가했습니다. 당신 말이 맞습니다. – tadman

+0

번들을 실행할 때 누군가가 위조를 시도 했습니까? –

1

당신이 .bundler에 대한 심볼릭 링크를 생성하고 bunlder가 쓸 수있는 폴더를 가리킬 수 있습니다 될 수있다으로

은 간단 할 수있다. 그렇지 않으면 당신은 노블 (Noble)과 같은 포크 번들러를 제안해야합니다.

관련 문제