Как контролировать присутствие ruby-devel в среде Software Collections

В настоящее время я пытаюсь создать приложение Ruby на компьютере с Centos 6.6. В коллекциях программного обеспечения установлены различные стеки Ruby. Пожалуйста, обратите внимание, что у меня нет root на компьютере, и мои привилегии ограничены, в частности, они не включают установку пакетов.

Родные расширения не строят. Похоже на то ruby-devel отсутствует, но администратор сказал мне, что он был правильно установлен для обоих стеков:

dnf install rh-ruby22-ruby-devel.x86_64 ruby193-ruby-devel.x86_64 -y

Вот моя проблема:

bob@server ~> scl enable rh-ruby22 bash
bash-4.1$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux-gnu]

bash-4.1$ gem install json Building native extensions.  This could take a while... ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

    /opt/rh/rh-ruby22/root/usr/bin/ruby -r ./siteconf20150625-17536-saskmd.rb extconf.rb mkmf.rb can't find header files for ruby at /opt/rh/rh-ruby22/root/usr/share/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in ~/.gem/ruby/gems/json-1.8.3 for inspection. Results logged to ~/.gem/ruby/extensions/x86_64-linux/json-1.8.3/gem_make.out

Как я могу проверить, если ruby-devel (точнее, rh-ruby22-ruby-devel.x86_64 ) правильно установлен?

Что будет следующим местом для поиска, если оно работает как задумано?

2 ответа

Это, скорее всего, потому что у вас не установлены библиотеки devel для версии ruby ​​SCLo.

sudo yum install rh-ruby22-ruby-devel

Вам нужно будет экспортировать пути к вашим библиотекам, чтобы запустить и запустить их правильно.

например

export PATH=/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/rh/rh-ruby22/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MANPATH=/opt/rh/rh-ruby22/root/usr/share/man:$MANPATH
export PKG_CONFIG_PATH=/opt/rh/rh-ruby22/root/usr/lib64/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
# For SystemTap.
export XDG_DATA_DIRS=/opt/rh/rh-ruby22/root/usr/share${XDG_DATA_DIRS:+:${XDG_DATA_DIRS}}
Другие вопросы по тегам