Эта проблема происходит: "Integer": невозможно преобразовать ноль в Integer (TypeError). Когда я запускаю эту команду: ruby ​​setup.rb config

Я использовал Fedora 27, и все было хорошо, но я обновляюсь до Fedora 28, и моя конфигурация ruby ​​больше не работает.

Проект, над которым я работаю. Он использует эту конфигурацию на Ruby и Rails:

Я установил этот конкретный рубин:

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
source ~/.bashrc
source ~/.bash_profile
rbenv install -v 2.4.1
rbenv global 2.4.1
echo "gem: --no-document" > ~/.gemrc
gem install bundler
gem install rails -v 5.1.2
rbenv rehash

Когда я пытаюсь установить этот гем ruby-oci8 (этот способ установки, это единственный способ заставить это работать), и мгновенный клиент это хорошо:

export LD_LIBRARY_PATH=$HOME/svn/vida-funcional/rails/bin/instantclient_12_2
export ORACLE_HOME=$HOME/svn/vida-funcional/rails/bin/instantclient_12_2
 echo 'export PATH="$ORACLE_HOME:$PATH"' >> ~/.bashrc
git clone https://github.com/kubo/ruby-oci8.git
cd ruby-oci8/
git checkout ruby-oci8-2.2.5.1
ruby setup.rb config

После этого проблемы обнаруживаются:

---> lib
---> lib/oci8
<--- lib/oci8
---> lib/dbd
<--- lib/dbd
<--- lib
---> ext
---> ext/oci8
/home/rporto/.rbenv/versions/2.4.1/bin/ruby /home/rporto/svn/vida-funcional/rails/bin/ruby-oci8/ext/oci8/extconf.rb 
checking for load library path... 
  LD_LIBRARY_PATH... 
    checking /home/rporto/svn/vida-funcional/rails/bin/instantclient_12_2... yes
  /home/rporto/svn/vida-funcional/rails/bin/instantclient_12_2/libclntsh.so.12.1 looks like an instant client.
checking for cc... ok
checking for gcc... yes
checking for LP64... yes
checking for sys/types.h... yes
checking for ruby header... ok
checking for OCIEnvCreate() in oci.h... yes
checking for OCI_MAJOR_VERSION in oci.h... /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:729:in `Integer': can't convert nil into Integer (TypeError)
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:729:in `block in try_constant'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:409:in `popen'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:409:in `block in xpopen'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:321:in `open'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:402:in `xpopen'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:728:in `try_constant'
    from /home/rporto/svn/vida-funcional/rails/bin/ruby-oci8/ext/oci8/extconf.rb:34:in `block in <main>'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:945:in `block in checking_for'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:351:in `block (2 levels) in postpone'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:321:in `open'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:351:in `block in postpone'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:321:in `open'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:347:in `postpone'
    from /home/rporto/.rbenv/versions/2.4.1/lib/ruby/2.4.0/mkmf.rb:944:in `checking_for'
    from /home/rporto/svn/vida-funcional/rails/bin/ruby-oci8/ext/oci8/extconf.rb:33:in `<main>'
'system /home/rporto/.rbenv/versions/2.4.1/bin/ruby /home/rporto/svn/vida-funcional/rails/bin/ruby-oci8/ext/oci8/extconf.rb ' failed

Единственное, что мне нужно, это установить этот гем, заставить команды работать в каталоге ruby-oci8:

ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

0 ответов

Другие вопросы по тегам