Я настраиваю новую виртуальную машину Ubuntu 18.04, и у меня возникают проблемы с моими приложениями Ruby. Ruby — это версия 2.5.1 (стандартная с 18.04). Gems устанавливаются с помощью sudo, поскольку они загружаются приложениями, работающими под несколькими разными идентификаторами пользователя.
Они не находят ни одного из установленных драгоценных камней!
rful011@secgenprd02:~$ sudo gem install sys-proctable
Fetching: sys-proctable-1.2.5.gem (100%)
Successfully installed sys-proctable-1.2.5
Parsing documentation for sys-proctable-1.2.5
Installing ri documentation for sys-proctable-1.2.5
Done installing documentation for sys-proctable after 0 seconds
1 gem installed
rful011@secgenprd02:~$ irb
irb(main):001:0> require "sys/proctable"
Traceback (most recent call last):
4: from /usr/bin/irb:11:in `<main>'
3: from (irb):1
2: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
LoadError (cannot load such file -- sys/proctable)
драгоценный камень env говорит:
- GEM PATHS:
- /var/lib/gems/2.5.0
ls:
rful011@secgenprd02:~$ ls -ld /var/lib/gems/2.5.0/gems/sys-proctable-1.2.5/
drwxr-xr-x 6 root root 181 Jul 7 17:26 /var/lib/gems/2.5.0/gems/sys-proctable-1.2.5/
Любые предложения о том, как диагностировать эту проблему, приветствуются! Я нахожусь в том месте, где я подумываю стереть виртуальную машину и начать заново - к сожалению, это не тривиально.
Одна дополнительная точка данных. Гемы изначально были установлены марионеткой, которая работает с umask, запрещающим «другим» доступ (известная функция поставщика гем-пакетов puppet). Я удалил их вручную, а затем переустановил из процесса с правильным umask. Я тщательно проверил разрешение всех файлов в установленных драгоценных камнях.
Я думаю, что есть что-то еще, что имеет неправильное разрешение, которое мешает загрузке драгоценных камней.