The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

NPM стал крупнейшим репозиторием пакетов

15.01.2017 11:27

На конференции Node.js Interactive озвучены заслуживающие внимания достижения проекта NPM, в рамках которого сформирован крупнейший в мире репозиторий пакетов (если не принимать во внимание, что многие пакеты включают лишь несколько строк кода). В настоящее время в NPM размещено более 380 тысяч пакетов. Для сравнения в репозитории Apache Maven присутствует 173 тысячи пакетов, в Rubygems.org - 127 тысяч, в Packagist (PHP) - 123 тысячи, в PyPI - 96 тысяч, в nuget (.NET) - 70 тысяч, в CPAN - 34 тысячи.

За последние 28 дней через NPM было установлено 18 миллиардов пакетов и загружено 6 миллиардов пакетов (66% установок осуществлено из кэша, поэтому число загрузок меньше, чем число установок). Еженедельно примерно 160 новых разработчиков публикуют в NPM свои первые пакеты. Число зарегистрированных пользователей NPM составляет 314 тысяч, из которых 102 тысячи являются активными разработчиками, публикующими свои пакеты. Примечательно, что несмотря на то, что NPM создавался для серверного использования с Node.js, около 80% пользователей используют NPM в том числе при разработке фронтэндов (клиентские web-приложения), а 20% - только на стороне фронтэнда.

Что касается прошлогоднего инцидента, в результате которого удаление пакета разработчиком привело к возникновению проблем в тысячах зависимых проектов, то для предотвращения подобных ситуаций в NPM было принято правило, разрешающее удаление пакетов только в течение 24 часов после их публикации. После этого срока разработчик не может удалить пакет, а имеет возможность лишь пометить его неподдерживаемым.

  1. Главная ссылка к новости (https://developers.slashdot.or...)
  2. OpenNews: Применение тайпсквоттинга для распространения вредоносных модулей NPM, PyPI и Gems
  3. OpenNews: Незащищённость NPM к атакам по внедрению вредоносных модулей-червей
  4. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
  5. OpenNews: Каталог RubyGems догнал CPAN по числу модулей
  6. OpenNews: Архиву Perl-модулей CPAN исполнилось 20 лет
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45861-npm
Ключевые слова: npm, node.js
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (64) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:43, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +54 +/
    Пакетов-однострочников типа isarray, ага. Сомнительное достижение
     
     
  • 2.45, Аноним (-), 19:37, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато хороший рейтинг кодоспамеров получился.
     

  • 1.2, Аноним (-), 11:52, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –17 +/
    npm быть не должно , вспомнити npm leftpad а еще js тоже быть не должно , он тормозит , вспомнити атом
     
     
  • 2.12, kobezzzamail.ru (?), 12:36, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Анонима быть не должно, вспомните анонима
     
  • 2.33, Аноним (-), 16:34, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > npm быть не должно , вспомнити npm leftpad а еще js тоже
    > быть не должно , он тормозит , вспомнити атом

    А зачем иронизировать, если это так и есть? Или какая-то из названных Вами проблем решена?

     
     
  • 3.56, Аноним (-), 10:28, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Смыс ли? Никакая нерешена , это же npm , тут проблемы не решают а создают , вспомнити как они отключили leftpad
     

  • 1.3, Anonim (??), 11:56, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +44 +/
    > NPM стал крупнейшим репозиторием пакетов

    fixed: NPM стал крупнейшей мусоркой пакетов

     
     
  • 2.19, Sw00p aka Jerom (?), 13:44, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    как в своё время CPAN
     
     
  • 3.46, Аноним (-), 19:40, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > как в своё время CPAN

    Так название почти говорящее. И вообще, если в нормальные репы пакеты берут только если они соответствуют определенным критериям качества и поддержки, то в этих рассадниках спама просто хаотично навален какой-то крап. Который зачастую никто не поддерживает. Секурити в ауте. Ну и нахрен такие пакетные системы сдались? Чтобы червяков с серверов почаще удалять?

     
     
  • 4.74, Sw00p aka Jerom (?), 18:30, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    в первую очередь такие репы портят репутацию самого языка, меня лично это отторгает.
     
     
  • 5.76, Аноним (-), 20:52, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Как можно испортить то, чего не было. JS всегда был уделом веб-макак. Тех, кто действительно умеет на нём строить приложения осне мало.Да и те, кто умеют (типа Гугла), стараются изобрести свой велосипед, только чтоб не тра..ся с JS.
     
  • 2.63, Аноним (-), 14:52, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Рассматривай npm как twitter регистрировать свой общемировой id имя пакета или... большой текст свёрнут, показать
     
     
  • 3.73, Аноним (-), 18:02, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Aсоциальную
     
  • 3.79, Michael Shigorin (ok), 18:44, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так что npm можно рассматривать как своеобразную социальную сеть.

    Только сравнивают зачем-то с репозиториями...

     

  • 1.4, brzm (?), 11:57, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Согласен с предыдущими ораторами, содержимое NPM по сравнению с тем же Maven Central это "день и ночь". "Устройство /dev/urandom стало крупнейшим репозиторием пакетов".
     
  • 1.5, Аноним (-), 12:09, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно. Хоть одну софтину посоветуйте. Которая что-нибудь крутое даст. Пока знаю только:

    /usr/lib/node_modules/chromeos-apk/chromeos-apk com.google.android.apps.authenticator2-2.apk --archon

    Распаковывалку андроидовских приложений для использования в Google Chrome.

     
     
  • 2.59, Аноним (-), 12:10, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И как их потом использовать? Подробнее, пожалуйста...
     
  • 2.86, webmonkey (?), 10:29, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    jade/pug — очень удобный html шаблонизатор. есть конечно jade4j, но он пока не принял обновления в виде собственно pug
     

  • 1.6, leap42 (ok), 12:09, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    мне одному кажется, что понятие "пакет" в разных репах разное, и мерить лучше модулями, которые везде примерно "одинаковые"?
     
     
  • 2.8, freehck (ok), 12:17, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > мерить лучше модулями, которые везде примерно "одинаковые"?

    Модули тоже сильно разнятся между языками.

     

  • 1.7, Аноним (-), 12:12, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Цедзип... Проблема не в том, чтобы было больше кода/пакетов, а в том, чтобы его было меньше. Это как с результатами поиска в гугле.
     
  • 1.9, Шахиджанян (?), 12:20, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +26 +/
    "А 1000 знаков в минуту можете?" - "Могу, но такая фигня выходит..."
     
     
  • 2.75, нимус (?), 18:36, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1000 символов осмысленного текста это реальность.
     
     
  • 3.80, Michael Shigorin (ok), 18:46, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > 1000 символов осмысленного текста это реальность.

    Это такой тридцатигерцовый шелест, да?

    PS: тьфу ты, ~16 Гц, конечно -- тогда всё-таки "ну не знаю" :)

     

  • 1.10, freehck (ok), 12:32, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > В настоящее время в NPM размещено более 380 тысяч пакетов.

    А говорит ли о чём-либо количество? Решающую роль играет качество пакетов. Как там с качеством-то дела?

    > За последние 28 дней через NPM было  установлено 18 миллиардов пакетов
    > и загружено 6 миллиардов пакетов (66% установок осуществлено из кэша, поэтому
    > число загрузок меньше, чем число установок).

    А как они, собственно, узнали об этих установках из кэша? npm об этом куда-то отчитывается?

    > принято правило, разрешающее удаление пакетов только в течение 24 часов после их публикации.

    И теперь будут по старинке выкладывать обновы с пустым пакетом?

     
     
  • 2.15, Аннымзус (?), 13:02, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Как там с качеством-то дела?

    учитывая что код пишут не рептилоиды, а все те-же люди - качество такое-же как везде
    зайди на гитхаб, ткни в любую репу и посмотри на количество коммитов с фиксами после последнего релиза

    > npm об этом куда-то отчитывается?

    наверное проверяет доступные версии, и если нет обновлений - ставит из кеша

     
     
  • 3.26, Аноним (-), 15:33, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > а все те-же люди

    Не-е-ет! Жабоскриптомакаки.

     
  • 3.47, Аноним (-), 19:42, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > учитывая что код пишут не рептилоиды, а все те-же люди - качество
    > такое-же как везде
    > зайди на гитхаб, ткни в любую репу и посмотри на количество коммитов
    > с фиксами после последнего релиза

    Ты так хорошо расписал зачем в линухе нормальные репы есть. Туда таких макак не пускают или как минмум держат в карантине энное время.

     
     
  • 4.52, Аннымзус (?), 20:55, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты так хорошо расписал зачем в линухе нормальные репы есть.

    Я так хорошо расписал откуда в линухе весь код.
    У ядра/иксов/кед/гнома/х-всей/кути/... у всех есть гит, и (наверное) там ядро/иксо/пр... макаки пишут.
    А остальное стадо находится в перманентном ожидании фиксов, когда репо-макаки закинут очередную обновушку.

    Обычный же человек не стесняется из гита поставить, если нужно, и потом багрепорт/пулл-реквест состряпать, и в максимально короткие сроки заиметь фикс.

    Вон рядом новость про Calligra, и эта самая калигра уже как пол года 3.0 в гите, и нормально собирается (хоть и подглючивает). А в некоторых репах появится еще через пол года.

     
     
  • 5.71, Гентушник (ok), 15:23, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Обычный же человек не стесняется из гита поставить

    Обычный человек и про гит то ничего не знает.

     
  • 3.58, freehck (ok), 11:14, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Как там с качеством-то дела?
    > учитывая что код пишут не рептилоиды, а все те-же люди - качество такое-же как везде

    И среди людей рептилоидов предостаточно. И качество кода часто коррелирует с уровнем грамотности сообщество, возникшего вокруг того или иного языка.

    > зайди на гитхаб, ткни в любую репу и посмотри на количество коммитов с фиксами после последнего релиза

    Количество коммитов, знаете ли, тоже не очень хорошая метрика. У нас в конторе наибольшее число коммитов и фиксов имеет репозиторий, код в котором - такая лапша, что никто понять её не может. ;)

    >> npm об этом куда-то отчитывается?
    > наверное проверяет доступные версии, и если нет обновлений - ставит из кеша

    Возможно. Спасибо, я об этом не подумал.

     
  • 3.81, Michael Shigorin (ok), 18:48, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > учитывая что код пишут не рептилоиды, а все те-же люди - качество такое-же как везде

    Вообще-то люди разные, и на разные проекты порой сбегаются очень разные люди.

     

  • 1.11, Аноним (-), 12:35, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    > заслуживающие внимания достижения

    А в чём достижение то? Это же катастрофа.

     
  • 1.14, Аноним (-), 12:50, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так и запишем:"порог вхождения в жабаскрипт крайне низкий."
     
     
  • 2.18, Аноним (-), 13:38, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это бьет по твоему самолюбию?
     
     
  • 3.35, cmp (ok), 17:06, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это факт
     

  • 1.20, IZh. (?), 13:45, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Им нужен garbage collector. ;-)

    > Еженедельно примерно 160 новых разработчиков публикуют в NPM свои первые пакеты.

    И не стыдно, ведь, людям. ;-)

    > ... в NPM было принято правило, разрешающее удаление пакетов только в течение 24 часов после их публикации. После этого срока разработчик не может удалить пакет, а имеет возможность лишь пометить его неподдерживаемым.

    Посмотрим, насколько быстрым и удобным будет поиск через несколько лет при таком росте.

     
     
  • 2.27, Аноним (-), 15:35, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> Еженедельно примерно 160 новых разработчиков публикуют в NPM свои первые пакеты

    Это ~160 новых хеллоуфордов еженедельно!
    NPM — крупнейшая коллекция хеллоувордов.

     

  • 1.22, Аноним (-), 14:12, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Количество != качество.
     
     
  • 2.23, A.Stahl (ok), 14:29, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но при правильном развитии, согласно диалектического материализма, увеличение количества может привести к качественным изменениям.
    А может и не привести:)
     
     
  • 3.44, Какаянахренразница (ok), 18:59, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Количество обязательно перейдёт в качество. Проблема в том, что большое количество не означает хорошее качество.
     

  • 1.25, Аноним (-), 14:51, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ага, какже, что они этимправилом заткнули? К npm нет вообще никакого контроля, по нему в любой момент может прилететь троян и хрен ты что заметишь.
     
     
  • 2.29, Вы забыли заполнить поле Name (?), 15:59, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > в любой момент может прилететь троян и хрен ты что заметишь

    Это характерно для любогопакетоного менеджера. Особенно при первой установке.

     
     
  • 3.49, Аноним84701 (ok), 20:16, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> в любой момент может прилететь троян и хрен ты что заметишь
    > Это характерно для любогопакетоного менеджера.

    Чисто теоретически -- вполне возможно.
    Чисто практически -- есть такие вещи, как цифровые подписи и контрольные суммы.
    И мейнтенер(ы) пакета, которые чисто из практических соображений, просто чтобы прикинуть, что за проблемы могут прилететь при сборке новой версии, иногда все же поглядывают в git/svn/hg/и.т.д  diff обновлений софта.

    Нет, конечно есть еще вероятность, что они [мейнтенеры] или пропустят по невнимательности или даже "сами скурвятся", но в первом случае это все еще намного надежнее подхода "все свое смотрю я сам" (который, опять же, никто не запрещает), а во втором - группа людей, долгое время занимающаяся этим, "на виду", контролирующие друг друга, и т.д. -- все же, имхо, предпочтительнее самостоятельных разборок с кучей разнообразных авторов и их возможными тараканами, для каждого отдельного обновления каждой отдельной софтины.

     

  • 1.31, Аноним (-), 16:23, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Короче, выпустили мы релиз нашего приложения. Он еще не скоро пойдет в работу, поэтому для сборки клиентской части используется нпм.  Сам знаю, что так делать нельзя, но все-таки:

     
     
  • 2.32, Аноним (-), 16:29, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перед тем как собрать проект я на всякий случай сделал git clean -dfx.
    Локальные Нода-модули уничтожились.
    Npm install выдает мне ошибку, типо версия пакета, которая у меня прописана в package.json не существует. Разумеется все исправилось сменой версии. Но, что бы не говорили, я считаю, что нода для рабочего приложения - как пластмассовая отвертка.

    Вот так ребята

     

  • 1.36, Аноним (-), 17:08, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Сколько батхёрта xD Хотя это самая вменяемая и гибкая экосистема, причём опенсорс. Лучше бы аналитики опеннета сами бы свой уровень чутка подтянули и разобрались в теме.
     
  • 1.37, Аноним (-), 17:17, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Как я и предрекал 7 лет назад, JS обойдёт все остальные языки программирования, он будет просто везде, а ещё через 7 лет на нём напишут ядро ОС и драйвера для неё и это будет не навеска над Linux, а полностью самостоятельная ОС.
    И разумеется, его будут компилировать.
    Фреймворки и приложения - всё на JS. Встроенный графический конструктор приложений, в котором разберётся и ребёнок; количество JS-программистов будет возрастать по экспоненте.
    7 лет назад все считали JS языком для разработки сайтов и только, сегодня же вы мне не поверите, но уже через несколько лет, вы услышите о старте этого проекта и через 7 лет он будет готов!
     
     
  • 2.38, Аноним (-), 17:24, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И 64 Гб хватит всем, ага!
     
     
  • 3.39, Аноним (-), 17:37, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Чёрным по белому написано: "И разумеется, его будут компилировать."
    Будет немного тормознее, чем скомпилированный C++, но железо через 7 лет будет уже совсем другое, даже смартфоны. Ты особой разницы не почувствуешь.
    Зато разработка будет быстрой и лёгкой. И может быть, этот язык спасёт умирающий open source, а та JS-ОС придёт на смену Linuxу.
     
  • 3.40, A.Stahl (ok), 17:37, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну пока Яву на ЯваСкрипте не перепишут -- да, 64ГиБ будет хватать всем.
     
  • 2.41, nobody (??), 17:48, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Аминь!
     
  • 2.64, Аноним (-), 14:54, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это будет 2024, время пошло.
     

  • 1.42, Аноним (-), 18:22, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как не умели графики рисовать так и пакеты и них получаются.
     
  • 1.43, Яр (?), 18:55, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всякий раз обновляя npm замирает сердце, не отвалится ли что.
     
  • 1.54, Аноним (-), 03:33, 16/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1 Количество не показатель качества - соглашусь, но и не показатель обратного ... большой текст свёрнут, показать
     
     
  • 2.62, Урри (?), 14:20, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Мне важно N - хороших пакетов. То что в репозитории будет N + M, где M - это трэшь и угар мне глубоко до лампочки.

    И будешь ты половину жизни тратить на то, чтобы найти в этом трэше и угаре один хороший пакет. Точнее, через пару дней плюнешь и сам начнешь писать, ибо найти что-то в огроменной куче гоbна будет слишком сложно.

     
     
  • 3.78, Куяврег (?), 10:20, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > через пару дней плюнешь и сам начнешь писать

    а потом толкнёшь в репу.

     
  • 2.84, Thunder (??), 00:05, 22/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    При установке хороших пакетов трэш и угар прилетят по зависисмостям:
    https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-a
     

  • 1.55, abi (?), 09:19, 16/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А зачем ему nodejs? Столкнулся недавно с проблемой - надо было написать хомяк, так в открытом доступе теперь и скриптов не найти без этого npm, качал с гуглапи.
     
     
  • 2.66, Аноним (-), 14:57, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чем только люди не занимаются, лишь бы не нарушать заветы своей религии ненависти к определенным языкам/инструментам.
     

  • 1.57, Аноним (-), 10:49, 16/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Нпм как гитхаб, только нпм.
     
  • 1.83, Michael Shigorin (ok), 19:03, 17/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то подумалось: лет десять-пятнадцать тому разбирались, как будет правильно -- "репозиторий", "репозитарий" или вообще "депозитарий"; только разобрались -- и тут оказалось впору искать новый термин...
     
  • 1.85, Andrey Mitrofanov (?), 20:18, 22/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > На конференции Node.js Interactive озвучены (https://www.linux.com/news/event/Nodejs/2016/state-union-npm)
    > заслуживающие внимания достижения проекта NPM, в рамках которого сформирован крупнейший

    [I]""[...] whereas doing your own package manager is *fun*, or at least it looks like fun at first, so it will be repeated over and over and the same design [U]mistakes will be done over and over because the software industry is among the worst in learning from the past[/U]. ""[/I] --http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01681.html

    > репозиторий пакетов в мире (если не принимать во внимание, что многие
    > пакеты включают лишь несколько

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру