RVM + Ruby 2.6.3 + macOS + et c .bundle => предупреждение: уже инициализированная константа - PullRequest
0 голосов
/ 17 марта 2020

Когда я запускаю Ruby сценарии, я получаю 157 строк предупреждающих сообщений, таких как:

/Users/clay/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/x86_64-darwin19/etc.bundle: warning: already initialized constant Etc::SC_AIO_LISTIO_MAX
/Users/clay/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/x86_64-darwin19/etc.bundle: warning: already initialized constant Etc::SC_AIO_MAX
/Users/clay/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/x86_64-darwin19/etc.bundle: warning: already initialized constant Etc::SC_AIO_PRIO_DELTA_MAX
... lots more

После некоторого копания кажется, что промышленный комплекс Ruby / gem / bundle использует оба RVM версия Ruby 2.6.3 и системной версии macOS 2.6.3 для разрешения гема etc.

Мое с трудом завоеванное быстрое решение - удалить драгоценный камень rvm- ruby etc, например:

rvm use 2.6.3
gem uninstall etc

Однако в любое время я запускаю gem update эта версия Ruby, etc будет переустановлена, и я возвращаюсь к потоку предупреждений. Я не могу заставить систему - ruby вообще удалить etc.

Есть ли более постоянное исправление?


Deets:

rvm 1.29.9
macOS Catalina 10.15.2

1 Ответ

0 голосов
/ 17 марта 2020

Похоже, я могу запретить установку драгоценного камня etc в свой Gemfile, например:

source 'https://rubygems.org'
ruby '2.6.3'

gem 'cocoapods', '1.9.1'
# ... other gems
gem 'etc', :require => false

Поскольку системный камень etc уже находится "на пути", пока все работает, но yikes , не нравится .

...