This seems to only happen inside that specific container, because on another machine with leap 42.2 this doesn't happen. The container doesn't have the update repo enabled (http://download.opensuse.org/update/leap/42.2/oss/) and this is what provides the ruby2.3 package in the working machine. I disabled the "update" repo on the working machine and ruby2.3 still doesn't require ruby2.1 although now ruby2.3 is provided by the same repo as in the container (http://download.opensuse.org/distribution/leap/42.2/repo/oss/). Could it be that ruby2.3 is fixed in the "update" repo and that fix still applies although the repo is disabled? In the container: /:/# zypper lr -u # | Alias | Name | Enabled | GPG Check | Refresh | URI --+----------------------------------+----------------------------------+---------+-----------+---------+--------------------------------------------------------------------------------------------- 1 | 28a0a9a574b284bc9c335b184013c02d | 28a0a9a574b284bc9c335b184013c02d | Yes | (r ) Yes | Yes | http://download.opensuse.org/distribution/leap/42.2/repo/oss/ 2 | a2be8572805599e78f3498377d05d96a | a2be8572805599e78f3498377d05d96a | Yes | (r ) Yes | Yes | http://download.opensuse.org/repositories/Cloud:/Platform:/SUSE-Stemcell/openSUSE_Leap_42.2/ /:/# cat /etc/os-release NAME="openSUSE Leap" VERSION="42.2" ID=opensuse ID_LIKE="suse" VERSION_ID="42.2" PRETTY_NAME="openSUSE Leap 42.2" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:leap:42.2" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" /:/# zypper in ruby2.3 Loading repository data... Reading installed packages... Resolving package dependencies... The following 10 NEW packages are going to be installed: fdupes libruby2_1-2_1 libruby2_3-2_3 libyaml-0-2 ruby-common ruby2.1 ruby2.1-rubygem-gem2rpm ruby2.1-stdlib ruby2.3 ruby2.3-stdlib 10 new packages to install. Overall download size: 7.7 MiB. Already cached: 0 B. After the operation, additional 30.2 MiB will be used. Continue? [y/n/? shows all options] (y): ----------------------------------- On the other machine: ~ $ zypper lr -u Repository priorities are without effect. All enabled repositories share the same priority. # | Alias | Name | Enabled | GPG Check | Refresh | URI ---+-------------------------------------+---------------------------------------------------+---------+-----------+---------+----------------------------------------------------------------------------------------- 1 | SUSE_CA | SUSE Internal CA Certificate (openSUSE_Leap_42.2) | No | ---- | ---- | http://download.suse.de/ibs/SUSE:/CA/openSUSE_Leap_42.2/ 2 | Virtualization_containers | Virtualization:containers (openSUSE_Leap_42.2) | Yes | (r ) Yes | No | http://download.opensuse.org/repositories/Virtualization:/containers/openSUSE_Leap_42.2/ 3 | devel:docker | devel:docker | No | ---- | ---- | http://download.suse.de/ibs/Devel:/Docker/SLE_12/ 4 | games | games | Yes | (r ) Yes | No | http://download.opensuse.org/repositories/games/openSUSE_Leap_42.2/ 5 | google-talkplugin | google-talkplugin | No | ---- | ---- | http://dl.google.com/linux/talkplugin/rpm/stable/x86_64 6 | http-download.opensuse.org-fe56ce6f | hardware | Yes | (r ) Yes | Yes | http://download.opensuse.org/repositories/hardware/openSUSE_Leap_42.2/ 7 | openSUSE-42.2-0 | openSUSE-42.2-0 | No | ---- | ---- | hd:///?device=/dev/disk/by-id/usb-_USB_DISK_2.0_070869255E907038-0:0-part2 8 | opensuse-guide.org-repo | Libdvdcss Repository | Yes | (r ) Yes | Yes | http://opensuse-guide.org/repo/openSUSE_Leap_42.2/ 9 | packman.inode.at-suse | Packman Repository | Yes | (r ) Yes | Yes | http://packman.inode.at/suse/openSUSE_Leap_42.2/ 10 | repo-debug | openSUSE-Leap-42.2-Debug | No | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/42.2/repo/oss/ 11 | repo-debug-non-oss | openSUSE-Leap-42.2-Debug-Non-Oss | No | ---- | ---- | http://download.opensuse.org/debug/distribution/leap/42.2/repo/non-oss/ 12 | repo-debug-update | openSUSE-Leap-42.2-Update-Debug | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/42.2/oss/ 13 | repo-debug-update-non-oss | openSUSE-Leap-42.2-Update-Debug-Non-Oss | No | ---- | ---- | http://download.opensuse.org/debug/update/leap/42.2/non-oss/ 14 | repo-non-oss | openSUSE-Leap-42.2-Non-Oss | Yes | (r ) Yes | Yes | http://download.opensuse.org/distribution/leap/42.2/repo/non-oss/ 15 | repo-oss | openSUSE-Leap-42.2-Oss | Yes | (r ) Yes | Yes | http://download.opensuse.org/distribution/leap/42.2/repo/oss/ 16 | repo-source | openSUSE-Leap-42.2-Source | No | ---- | ---- | http://download.opensuse.org/source/distribution/leap/42.2/repo/oss/ 17 | repo-source-non-oss | openSUSE-Leap-42.2-Source-Non-Oss | No | ---- | ---- | http://download.opensuse.org/source/distribution/leap/42.2/repo/non-oss/ 18 | repo-update | openSUSE-Leap-42.2-Update | Yes | (r ) Yes | Yes | http://download.opensuse.org/update/leap/42.2/oss/ 19 | repo-update-non-oss | openSUSE-Leap-42.2-Update-Non-Oss | Yes | (r ) Yes | Yes | http://download.opensuse.org/update/leap/42.2/non-oss/ ~ $ cat /etc/os-release NAME="openSUSE Leap" VERSION="42.2" ID=opensuse ID_LIKE="suse" VERSION_ID="42.2" PRETTY_NAME="openSUSE Leap 42.2" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:leap:42.2" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" ~ $ sudo zypper in ruby2.3 Loading repository data... Reading installed packages... Resolving package dependencies... The following 3 NEW packages are going to be installed: libruby2_3-2_3 ruby2.3 ruby2.3-stdlib 3 new packages to install. Overall download size: 4.3 MiB. Already cached: 0 B. After the operation, additional 15.6 MiB will be used. Continue? [y/n/...? shows all options] (y): -----------------------