Как исправить сломанную конфигурацию Ruby

Я использую 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 не может продолжить работу. Убедитесь, что гем устанавливает nokogiri -v '1.8.2' --source 'https://rubygems.org/ ' удается до объединения.

если я бегу:

gem install nokogiri -v '1.8.2'

or

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 по-прежнему не работает с той же ошибкой.


person kingston    schedule 13.01.2020    source источник
comment
Возиться с системным Ruby на macOS редко бывает хорошей идеей. Использование диспетчера версий (как показано в вашем собственном ответе ниже) — как только вы к нему привыкнете — станет намного проще, особенно при работе с разными проектами / требованиями.   -  person Stefan    schedule 13.01.2020


Ответы (1)


Я установил rvm. Затем в файле .zshrc я добавил:

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

Затем я запускаю:

rvm reinstall all --force

и теперь это работает.

person kingston    schedule 13.01.2020