[devel] [cyber] I: Autoimports/Sisyphus 20130625 packages: +138! (3153)

Дмитрий Кулик lnkvisitor.ts на gmail.com
Ср Июн 26 13:21:43 MSK 2013


У меня есть приложение которое использует некоторое количество модулей
соответственно с подмодулями.
К примеру(Показаны только 2 уровня зависимостей!!!)

forever на 0.10.8 node_modules/forever
├── colors на 0.6.0-1
├── watch на 0.7.0
├── timespan на 2.0.1
├── pkginfo на 0.3.0
├── optimist на 0.4.0 (wordwrap на 0.0.2)
├── nssocket на 0.5.1 (lazy на 1.0.11, eventemitter2 на 0.4.12)
├── utile на 0.1.7 (deep-equal на 0.0.0, rimraf на 1.0.9, ncp на 0.2.7, async на 0.1.22,
mkdirp на 0.3.5, i на 0.3.1)
├── nconf на 0.6.7 (ini на 1.1.0, pkginfo на 0.2.3, async на 0.1.22, optimist на 0.3.7)
├── cliff на 0.1.8 (eyes на 0.1.8, winston на 0.6.2)
├── flatiron на 0.3.5 (optimist на 0.3.5, director на 1.1.10, prompt на 0.2.9,
broadway на 0.2.7)
├── forever-monitor на 1.2.2 (watch на 0.5.1, minimatch на 0.0.5, broadway на 0.2.7,
ps-tree на 0.0.3)
└── winston на 0.7.1 (cycle на 1.0.2, eyes на 0.1.8, stack-trace на 0.0.6, async на 0.2.9,
request на 2.16.6)

Смотрим
watch на 0.7.0        watch на 0.5.1
pkginfo на 0.3.0      pkginfo на 0.2.3
optimist на 0.4.0     optimist на 0.3.7     optimist на 0.3.5
async на 0.1.22      async на 0.1.22      async на 0.2.9
winston на 0.6.2      winston на 0.7.1
.....

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

Пишем какой-то сервис на express который будет запускаться с помощью forever
express на 3.2.6 node_modules/express
├── methods на 0.0.1
├── fresh на 0.1.0
├── range-parser на 0.0.4
├── cookie-signature на 1.0.1
├── buffer-crc32 на 0.2.1
├── cookie на 0.1.0
├── debug на 0.7.2
├── commander на 0.6.1
├── mkdirp на 0.3.4
├── send на 0.1.0 (mime на 1.2.6)
└── connect на 2.7.11 (pause на 0.0.1, qs на 0.6.5, bytes на 0.2.0, cookie на 0.0.5,
formidable на 1.0.14, send на 0.1.1)

cookie на 0.1.0     cookie на 0.0.5
send на 0.1.0        send на 0.1.1
.....

А если нам еще версии проверить между этими двумя модулями???


Тоесть чтоб запустить мое приложение - мне надо собрать "много" пакетов в
разных версиях и вариациях. При этом пиная Игоря, чтоб он написал
адекватный findreq для поиска правильной версии для зависимостей. А еще
надо чтоб ко мне весь этот хлам слинковался в нужное место.

У меня не один проект на ноде. при этом паковать в рпм я их не собираюсь.
Мне проще сделать npm install

Главное прописать зависимости в package.json


2013/6/26 Viacheslav Dubrovskyi <dubrsl на gmail.com>

>  26.06.2013 00:53, Дмитрий Кулик wrote:
>
> 2013/6/26 Igor Zubkov <igor.zubkov на gmail.com>
>
>>
>>
>> nodejs + npm должен использовать такой же подход.
>>
>> Вот интересно, эти все nodejs-* пакеты хоть совместимы друг с другом?
>
>
>  Локально пакеты лежат рядом с приложением и набор пакетов при этом от
> приложения к приложению может отличаться. Не требует root.
> Из минусов - для биндингов требуется компилятор + *-devel пакет библиотек.
>
>  Проблемы с пакетами:
> Приложение
> + A ver 2
> + B ver 1
> __+ A ver 1
>
>  Все. наша система сломалась. И это скорее правило чем исключение.
>
> В Федоре немного не так делают.
> Я предлагаю такой подход:
>
> 1. Все модули должны располагаться в /usr/share/node_modules/cron на 1.0.1 ,
> например в таком формате.
> 2. На последнюю версию должна идти ссылка /usr/share/node_modules/cron ->
> cron на 1.0.1
> 3. Если модуль, требует другой модуль, то в папке этого модуля должна
> создаваться ссылка на соответствующий модуль.
>
> В вашей схеме это выглядит так:
>
>  + A ver 1
> + A ver 2
> + B ver 1
> __+ link to A ver 1
>
>
>
> --
> WBR,
> Viacheslav Dubrovskyi
>
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
>



-- 
Dmitry Kulik
ALTLinux Team
e-mail: lnkvisitor.ts[at]gmail.com
jabber: lnkvisitor.ts[at]gmail.com
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20130626/f574ae05/attachment.html>


Подробная информация о списке рассылки Devel