Как да поправите повредена конфигурация на 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 не може да продължи. Уверете се, че gem install 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