我在一个项目文件夹中运行命令您的用户帐户不允许安装到系统中的RubyGems
bundle install
。在某些项目文件夹中,它会产生一个错误,在其他项目文件夹中它不会产生错误。错误是:
您的用户帐户不允许安装到系统中的RubyGems
我知道这可以通过下面的推荐意见是固定的:
bundle install --path vendor/bundle
我的问题是为什么行为不一致?
我在一个项目文件夹中运行命令您的用户帐户不允许安装到系统中的RubyGems
bundle install
。在某些项目文件夹中,它会产生一个错误,在其他项目文件夹中它不会产生错误。错误是:
您的用户帐户不允许安装到系统中的RubyGems
我知道这可以通过下面的推荐意见是固定的:
bundle install --path vendor/bundle
我的问题是为什么行为不一致?
通常,如果你使用RVM,rbenv或chruby安装Ruby,所有的宝石会如果你使用你的系统,虽然红宝石(安装的一个安装在你的主文件夹下~/.rbenv/ruby-version/...
默认情况下)这些宝石会安装在一个您无法访问的位置(没有sudo
)。
我的猜测是你的版本管理器默认为系统Ruby,但是你的一些项目中有一个.ruby-version文件,告诉它使用你有权访问的不同版本的Ruby。
对我来说,我有一个现有的$BUNDLE_PATH
没有足够的权限来捆绑用户在写。
Your user account isn't allowed to install to the system RubyGems
bundle install --path vendor/bundle
删除
sudo mv ~/.bundle /tmp
尝试重新安装
bundle install
这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 - [来自评论](/ review/low-quality-posts/19033999) –
此外,我注意到Travis CI完全运行'bundle install --jobs = 3 --retry = 3'命令,但它实际上隐式安装在'vendor/bundle'按照https://docs.travis-ci.com/user/languages/ruby/#Default-Test-Script –