LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Я и не тащу, nixos запрещает. Но в этом вся моя мысль - несколько ПМ => возможность ставить гадость в обход единственно верного ПМ => потенциальная помойка.

Ну так не ставьте.

Потому что понаставят фигни, которую ПМ «выше» не видит, и на каждом слое у них целостная картина зависимостей, а после всех затенений (и одного апдейта) - минное поле.

Потому что вы неправильно пользуетесь прикладным ПМ. Он должен не затенять, а полностью переопределять и реализацию языка, и всё пространство имён пакетов.

Вот пример:

$  rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.6]
[ruby-]2.3[.3]
[ruby-]2.4[.0-rc1]
ruby-head

# for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2

# JRuby
jruby-1.6[.8]
jruby-1.7[.26]
jruby[-9.1.6.0]
jruby-head

# Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx[-3.69]
rbx-head

# Opal
opal

# Minimalistic ruby implementation - ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1[.2.0]
mruby[-head]

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Topaz
topaz

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# IronRuby
ironruby[-1.1.3]
ironruby-head

Все эти версии можно ставить параллельно (или создать собственные), и они никак не будут влиять друг на друга. И в них поставить все нужные пакеты нужных версий в рамках необходимого стека.

А системный стек - для системных приложений.

Исправление Deleted, :

Я и не тащу, nixos запрещает. Но в этом вся моя мысль - несколько ПМ => возможность ставить гадость в обход единственно верного ПМ => потенциальная помойка.

Ну так не ставьте.

Потому что понаставят фигни, которую ПМ «выше» не видит, и на каждом слое у них целостная картина зависимостей, а после всех затенений (и одного апдейта) - минное поле.

Потому что вы неправильно пользуетесь прикладным ПМ. Он должен не затенять, а полностью переопределять и реализацию языка, и всё пространство имён пакетов.

Вот пример:

$  rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.6]
[ruby-]2.3[.3]
[ruby-]2.4[.0-rc1]
ruby-head

# for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2

# JRuby
jruby-1.6[.8]
jruby-1.7[.26]
jruby[-9.1.6.0]
jruby-head

# Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx[-3.69]
rbx-head

# Opal
opal

# Minimalistic ruby implementation - ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1[.2.0]
mruby[-head]

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Topaz
topaz

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# IronRuby
ironruby[-1.1.3]
ironruby-head

Все эти версии можно ставить параллельно (или создать собственные), и они никак не будут влиять друг на друга. И в них поставить все нужные пакеты нужных версий в рамках необходимого стека.

Системный стек - для системных приложений.

Исходная версия Deleted, :

Я и не тащу, nixos запрещает. Но в этом вся моя мысль - несколько ПМ => возможность ставить гадость в обход единственно верного ПМ => потенциальная помойка.

Ну так не ставьте.

Потому что понаставят фигни, которую ПМ «выше» не видит, и на каждом слое у них целостная картина зависимостей, а после всех затенений (и одного апдейта) - минное поле.

Потому что вы неправильно пользуетесь прикладным ПМ. Он должен не затенять, а полностью переопределять и реализацию языка, и всё пространство имён пакетов.

Вот пример:

$  rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.6]
[ruby-]2.3[.3]
[ruby-]2.4[.0-rc1]
ruby-head

# for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2

# JRuby
jruby-1.6[.8]
jruby-1.7[.26]
jruby[-9.1.6.0]
jruby-head

# Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx[-3.69]
rbx-head

# Opal
opal

# Minimalistic ruby implementation - ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1[.2.0]
mruby[-head]

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Topaz
topaz

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# IronRuby
ironruby[-1.1.3]
ironruby-head

Все эти версии можно ставить параллельно (или создать собственные), и они никак не будут влиять друг на друга. И в них поставить все нужные пакеты нужных версий в рамках необходимого стека.