emerge: there are no ebuilds to satisfy "dev-lang/ruby:2.3".

うどんワールド(emerge -uDN @world)を実行した後、依存関係の修復のために"emergeに@preserved-rebuild"を実行しますよね。そうすると、こんなエラーが

emerge: there are no ebuilds to satisfy "dev-lang/ruby:2.3".

gentooではもうruby 2.3系はサポートされてないので、そりゃebuildsはないですよ。
/etc/potage/make.confでRUBY_TAGETS="ruby24 ruby25"に指定してもダメ。
eselect ruby listを実行すると

Available Ruby profiles:
  [1]   ruby22
  [2]   ruby23
  [3]   ruby24 (with Rubygems)
  [4]   ruby25 (with Rubygems) *

プロファイルが残ってらっしゃる。

Gentoo Wikiではmake.confのRUBY_TAGETSを書き換えたらemerge -uDN @worldでOKと書いてありますが、全然OKではありません。

そこで、depcleanしてみます。

# emerge --depclean -pv dev-lang/ruby:2.3

Calculating dependencies... done!
  dev-lang/ruby-2.3.7 pulled in by:
    dev-ruby/did_you_mean-1.0.2 requires dev-lang/ruby:2.3

>>> No packages selected for removal by depclean
Packages installed:   690
Packages in world:    149
Packages in system:   43
Required packages:    690
Number to remove:     0

そうですか、did_you_meanですか。ではこれを先に削除します。

# emerge -C =dev-ruby/did_you_mean-1.0.2
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 dev-ruby/did_you_mean
    selected: 1.0.2
   protected: none
     omitted: 1.1.2 1.2.1

All selected packages: =dev-ruby/did_you_mean-1.0.2

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) dev-ruby/did_you_mean-1.0.2...

 * GNU info directory index is up-to-date.

これで、ruby 2.3を削除できるんでしょうか?

# emerge --depclean dev-lang/ruby:2.3

Calculating dependencies... done!
>>> Calculating removal order...

 dev-lang/ruby
    selected: 2.3.7
   protected: none
     omitted: 2.2.10 2.4.9 2.5.7

All selected packages: =dev-lang/ruby-2.3.7

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) dev-lang/ruby-2.3.7...
>>> needed   sym /usr/lib64/libruby23.so.2.3
>>> needed   obj /usr/lib64/libruby23.so.2.3.0
Nothing to clean up.
Packages installed:   688
Packages in world:    149
Packages in system:   43
Required packages:    688
Number removed:       1

 * GNU info directory index is up-to-date.

お! 削除できました。

しかし、emerge: there are no ebuilds to satisfy が他のパッケージでも出てくること・・・。