如何修复损坏的Ruby配置

时间:2020-01-13 11:00:06

标签: ruby macos rubygems rvm bundler

我使用MacOs High Sierra 10.13.6。 bundle install不再起作用。多年来,我一直在使用捆包机在这台机器上运行快速车道。我最近安装了其他软件,我想我弄错了并破坏了配置。

我有以下Gemfile:

来源“ https://rubygems.org

gem 'fastlane', '2.120.0'
gem 'aws-sdk', '2.10.8'
gem 'awscli', '0.2.8'
gem 'rake', '12.0.0'
gem 'danger', '5.4.3'

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval(File.read(plugins_path), binding) if File.exist?(plugins_path)

当我尝试运行bundle install时收到错误消息:

错误:找不到libxml2在系统上的位置。请确保已安装pkg-config

在安装nokogiri(1.8.2)和Bundler时发生错误 无法继续。确保gem安装了nokogiri -v'1.8.2' --source'https://rubygems.org/'在绑定之前成功。

如果我跑步:

gem install nokogiri -v '1.8.2'

gem install nokogiri -v 1.8.2 -n /usr/local/bin -- --use-system-libraries

我得到了错误:

错误:执行gem时...(Errno :: EACCES) 权限被拒绝@ rb_sysopen-/Library/Ruby/Gems/2.3.0/gems/nokogiri-1.8.2/.autotest

我试图更改文件夹的权限并运行:

gem install pkg-config -n /usr/local/bin -- --use-system-libraries
gem install nakogiri -v 1.8.2 -n /usr/local/bin -- --use-system-libraries

根据其中一条错误消息的建议,我也运行过:

bundle config build.nokogiri --use-system-libraries

在这种情况下,这些命令成功执行,但是bundle install仍然失败,并出现相同的错误。

1 个答案:

答案 0 :(得分:1)

我安装了rvm。 然后在.zshrc文件中添加:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

然后我跑步:

rvm reinstall all --force

现在可以正常工作了。