我的主目录是挂载的 NFS 共享,本地根目录没有权限进入我的用户目录,当 bundle 程序删除缓存文件夹时会导致一些错误。 (请参阅下面“bundle 安装”的示例输出)。
如果可能的话,我想将 ~/.bundler 目录移动到本地磁盘。我已经能够移动我的 gems 和 rvm 文件夹,但我终究无法弄清楚在哪里更改 bundle 目录。
有人知道怎么做吗?
$ 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
...
最佳答案
您始终可以通过将参数传递给安装程序来自定义 bundle
安装方式:
bundle install --path /some/path
这对于您突出显示的情况或共享目录将由不同平台或 Ruby 版本使用的情况很有用。
更新:
应该可以重新定位 ~/.bundler
目录,方法是将你的 $HOME
环境变量设置为可用的东西,这实际上改变了~
解释为。 Bundler 似乎使用方法 Gem.user_home
方法来确定放置此文件的位置,因此如果您可以伪造它,您就已经设置好了。
这可以很简单:
HOME=/some/home bundle install --path /some/path
关于ruby-on-rails - 如何更改 ~/.bundler 目录位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5810529/