2011-04-27 113 views
1

我的主目錄是一個已安裝的NFS共享,本地根目錄沒有權限進入我的用戶目錄,並且當bundler刪除緩存的文件夾時會導致一些錯誤。 (請參閱下面的'捆綁安裝'示例輸出)。如何更改〜/ .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 
... 

回答

3

你總是可以自定義如何bundle安裝通過傳遞參數傳遞給安裝程序:

bundle install --path /some/path 

這對於一個共享目錄將通過不同的平臺或Ruby使用高亮顯示,或在案件的情況下非常有用版本。

更新

應該可以通過設置$HOME環境變量的東西,將工作,這實際上會改變我們~解釋爲重新定位的~/.bundler目錄。 Bundler似乎使用方法Gem.user_home確定放置這個文件的位置,所以如果你可以僞裝你的話。

這可能是那樣簡單:

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

我想凱文正試圖移動.bundler文件夾。不在其安裝位置。默認情況下,gem會安裝到默認的系統位置。路徑會改變這一點。但仍然bulder將緩存gem下.bundler。 – thekindofme 2011-04-28 05:08:20

+0

我在那裏添加了一些說明。你說得對。 – tadman 2011-04-28 16:00:21

+0

運行捆綁包時有沒有人嘗試過僞裝HOME? – 2013-12-19 17:48:41

1

可能是你可以創建一個符號鏈接.bundler並將其指向的文件夾到bunlder可以寫。否則,你將不得不像民間的捆綁者那樣提出建議。