遇到 Bundler 问题?在提交新问题之前,请浏览这些常见问题。
某些操作系统(如 macOS 和 Ubuntu)的 Ruby 版本需要提升权限才能安装 gem。
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
有多种方法可以解决此问题。您可以使用 sudo
或 su
以提升权限安装 Bundler。
sudo gem install bundler
如果您无法提升权限或不想全局安装 Bundler,可以使用 --user-install
选项。
gem install bundler --user-install
这会将 Bundler 安装到您的主目录。请注意,您需要将 ~/.gem/ruby/<ruby version>/bin
添加到您的 $PATH
变量中才能使用 bundle
。
如果您在部署时遇到问题,请向Heroku提交工单。他们拥有专业的支持团队,可以帮助您解决 Heroku 问题,比 Bundler 团队更有效。如果您遇到的问题最终是 Bundler 本身的错误,Heroku 支持可以将确切的细节提供给我们。
首先,弄清楚您要做什么(参见XY 问题)。然后,访问Bundler 文档网站,查看我们是否有关于如何操作的说明。
其次,查看兼容性列表,确保您使用的 Bundler 版本与您使用的 Ruby 和 RubyGems 版本兼容。要查看您的版本
# Bundler version
bundle -v
# Ruby version
ruby -v
# RubyGems version
gem -v
如果这些说明不起作用,或者您找不到任何合适的说明,您可以尝试以下故障排除步骤
# Update to the latest version of bundler
gem install bundler
# Remove user-specific gems and git repos
rm -rf ~/.bundle/ ~/.gem/bundler/ ~/.gems/cache/bundler/
# Remove system-wide git repos and git checkouts
rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/
# Remove project-specific settings
rm -rf .bundle/
# Remove project-specific cached gems and repos
rm -rf vendor/cache/
# Remove the saved resolve of the Gemfile
rm -rf Gemfile.lock
# Uninstall the rubygems-bundler and open_gem gems
rvm gemset use global # if using rvm
gem uninstall rubygems-bundler open_gem
# Try to install one more time
bundle install