每当我{/ 1}}所有宝石都安装在
bundle install
路径并消耗大量磁盘空间。我也尝试安装宝石,它应该安装,即开发时宝石集:
app_dir/vendor/bundle
但这不适合我并在bundle install --no-deployement
安装宝石。如何让它全局安装在所有应用程序或ruby gemsets位置?我也尝试删除vendor/bundle
,但没有任何改变。
我正在使用:
.bundle/config
这是我的rvm version: 1.23.14
ruby version: 2.0.0-p247
rails 3.2.13
:
~/.bash_profile
我的export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
eval "$(rbenv init -)"
alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
:
~/.bashrc
您可能需要的其他一些信息:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
我也试过了,但没有帮助:
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which bundle
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/bundle
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which bundle
/Users/aman/.rbenv/versions/2.0.0-p247/bin/bundle
amandeep@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which ruby
/Users/aman/.rbenv/versions/2.0.0-p247/bin/ruby
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv gemset active
rbenv: NO such command `gemset'
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which rails
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/rails
并删除bundle install --system
目录。
请帮助我在不是.bundle
或默认位置的宝石中安装宝石。
答案 0 :(得分:78)
在项目文件夹中,您将拥有.bundle
目录,其中包含bundler
的配置。尝试删除该文件夹。它应该将宝石的安装路径重置回系统范围的设置。
如果您只是想编辑安装路径,请使用您喜欢的编辑器打开.bundle/config
,以显示vendor/bundle
的路径。删除该行会将其恢复为默认值而不删除您可能拥有的其他配置。
此外,另一种不太常见的情况是您的系统范围设置混乱。根据@NaoiseGolden的说法:
我必须从我的主文件夹(rm -rf~ / .bundle)中删除
的配置.bundle
。您可以查看运行bundle env
答案 1 :(得分:24)
尝试使用
进行安装bundle install --system
我认为最初捆绑安装是使用--path
标志运行的,捆绑器现在记得那个配置。
来自捆绑工具man page
在调用bundle install和Bundler运行时之间会记住一些选项。
对bundle install的后续调用会将gem安装到最初传递给 - path 的目录中。 Bundler运行时将在该位置查找gem。您可以通过运行 bundle install --system 来恢复此选项。
编辑 :如下面的评论中所述,以及其他方面,这将安装宝石系统。如果您使用rvm等来管理不同应用的环境,请查看上面提到的@IuriG's answer。
答案 2 :(得分:9)
使用bundle env
查看路径和捆绑配置
在此~/.rvm/gems/ruby-2.0.0-p247
之后设置捆绑路径,如下所示:
bundle install --path ~/.rvm/gems/ruby-2.0.0-p247
是全局的,您也可以使用自己的自定义路径。
发布此bundle install
将永远不再需要path
并始终为directory(~/.rvm/gems/ruby-2.0.0-p247 in my case
中的app_folder/vendor/bundle
内的所有宝石安装<{1}}
答案 3 :(得分:6)
尝试运行bundle env
。这将告诉您路径配置的设置位置。
答案 4 :(得分:1)
首先,根据您的信息,您似乎已经安装了rvm和rbenv。那是一个very bad idea。你必须删除其中一个(rbenv + bundler对我来说就像一个魅力,没试过rvm)。
关于你的问题检查项目中的.bundle/config
,因为捆绑到该项目的所有配置都在那里(如果它仍然被删除,你可以创建一个新的)。你想要添加这一行(或者更改它,如果它已经在那里):BUNDLE_DISABLE_SHARED_GEMS: '0'
用于共享宝石,它们会转到设置BUNDLE_PATH:
的位置(在我的情况下为BUNDLE_PATH: vendor
)。< / p>
对于全局配置文件,请查看~/.bundle/config
此手册页也可以使用:bundle config
答案 5 :(得分:1)
要在系统范围内安装Gem避免路径供应商/包,只需在项目目录
中运行以下命令bundle install --system