Pull to refresh

Facebook и Google выпустили Yarn, новый менеджер пакетов для JavaScript

JavaScript *Programming *


Вчера вечером Facebook официально анонсировала новый пакетный менеджер для JavaScript под названием Yarn. На одной из стадии разработки к проекту подключились компании Google, Exponent и Tilde.

«Самый популярный менеджер пакетов JavaScript — это NPM. Он обеспечивает доступ более чем к 300 тысячам пакетов. Используют его более 5 миллионов разработчиков, а ежемесячно к нему обращаются для загрузки более 5 миллиардов раз.

Мы успешно использовали NPM в Facebook в течение многих лет, но так как объем нашего кода и число разработчиков выросло, мы столкнулись с проблемами последовательности, безопасности и производительности. После попытки решить все эти вопросы, мы пришли к намерению создать собственное решение, чтобы обеспечить надежность управления разработкой. Итогом этой работы стал Yarn — быстрая, надежная и безопасная альтернатива клиенту NPM», — говорится в официальном блоге Facebook о новинке.
Читать дальше →
Total votes 50: ↑42 and ↓8 +34
Views 41K
Comments 115

В обновлении Homebrew добавили поддержку процессоров M1

*nix *Development for MacOS *

Разработчики Homebrew выпустили версию утилиты для компьютеров Apple на чипе M1. В версии 3.0.0 добавили нативную поддержку процессоров Apple Silicon, но пока поддерживаются не все функции.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 5.8K
Comments 4

Популярность npm-пакета '-' продолжает расти

Дата-центр «Миран» corporate blog Information Security *Open source *


В августе 2021 года внимание сообщества привлёк странный однобуквенный пакет '-' («минус»), у которого было более 700 000 скачиваний и 56 входящих зависимостей, то есть на тот момент 56 других пакетов зависели от «минуса».

Особую загадочность делу придавал тот факт, что пакет был по сути пустой и не содержал ничего, кроме шаблонных конструкций (название, номер версии и т. д.).

За прошедшее время популярность «минуса» значительно выросла. На 11 марта 2022 года (16:00) от него зависят уже 185 пакетов.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 9.5K
Comments 3

Chocolatey — apt-get для Windows

Website development *Node.JS *
Chocolatey — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.



Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:

cup all
Читать дальше →
Total votes 71: ↑60 and ↓11 +49
Views 104K
Comments 57

Github Releases: публикация релизов

Website development *Git *
Разработчики Github реализовали новую функцию Releases для удобного распространения ПО конечным пользователям. Зайдя в раздел Releases, пользователь всегда может найти последнюю версию программы, changelog и полную историю версий. Ссылка на релизы помещена на главную страницу проекта.


Читать дальше →
Total votes 75: ↑72 and ↓3 +69
Views 21K
Comments 23

Пишем свой пакет для Chocolatey

PowerShell *
Sandbox


Chocolatey — пакетный менеджер для windows сильно облегчающий процедуру установки программ, а уж сколько он экономит времени. Про это чудо уже писали на хабре и даже было показано как написать свой пакет для него, но там было больше ручной работы, я же хочу показать как можно немного упростить это дело.
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 17K
Comments 4

Один разработчик чуть не «сломал» пакетный менеджер NPM

Open source *JavaScript *Node.JS *
Веб-разработчик Азер Кочулу (Azer Koçulu), автор более 250 модулей для Node.js, попал в неприятную ситуацию. В своём блоге он пишет, что несколько недель назад получил письмо от юриста компании Kik (мессенджер) с требованием отозвать модуль с аналогичным названием kik из пакетного менеджера NPM (Node Package Manager).

Программист отказался, тогда юрист обратился напрямую в NPM, и администрация проекта удовлетворила его требование, сменив владельца kik без разрешения автора.

Азер Кочулу был крайне недоволен этим. Настолько недоволен, что решил в ответ «освободить» (то есть отозвать) все свои модули — более 250 модулей NPM. К сожалению, среди них оказался и left-pad — маленький модуль из 11 строк кода на JavaScript. Он используется при установке зависимостей между пакетами через NPM, в том числе в Node.js, JavaScript-транскомпиляторе Babel и огромном количестве других билдов. Только за прошлый месяц left-pad скачали 2 486 696 с сервера NPM, по их статистике.
Читать дальше →
Total votes 110: ↑99 and ↓11 +88
Views 97K
Comments 185

NPM и left-pad: мы разучились программировать?

Website development *JavaScript *Programming *
Translation
Автор — Дэвид Хейни (David Haney), ведущий инженер-программист Stack Overflow

Итак, разработчики, время для серьёзного разговора. Вы уже наверное в курсе, что на этой неделе React, Babel и куча других популярных пакетов на NPM сломались. Причина довольно удивительная.

Простой пакет NPM под названием left-pad был установлен как зависимость в React, Babel и других пакетах. Модуль, который на момент написания этого поста, имеет 11 звёзд на Github (сейчас 323 — прим.пер). Весь пакет состоит из 11 простых строчек, которые реализуют примитивную функцию вставки пробелов в левой части строк. Если какие-то из ссылок когда-нибудь умрут, вот его код:

module.exports = leftpad;
function leftpad (str, len, ch) {
  str = String(str);
  var i = -1;
  if (!ch && ch !== 0) ch = ' ';
  len = len - str.length;
  while (++i < len) {
    str = ch + str;
  }
  return str;
}
Что меня беспокоит, так это такое большое количество пакетов, где установлена зависимость от простой функции набивки строки пробелами, вместо того чтобы потратить 2 минуты и написать эту базовую функцию самому.
Читать дальше →
Total votes 148: ↑127 and ↓21 +106
Views 102K
Comments 273

NPM запретил отзывать без разрешения open-source модули старше 24 часов

Website development *Open source *JavaScript *Node.JS *
Пакетный менеджер NPM на прошлой неделе стал причиной сумятицы в связи с исчезновением маленького модуля left-pad, на который были установлены зависимости в Node, React, Babel и тысячах других пакетов. Чтобы не допустить такого в будущем, сейчас администрация NPM внесла изменения в правила. По новым правилам, автоматический отзыв модуля возможен только в течение 24 часов после публикации на сервере NPM. После этого времени отзыв допускается только с разрешения администрации.
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Views 27K
Comments 164

Как npm стал самым популярным пакетным менеджером в мире

Development Management *Community management *


Со вступительной речью на конференции Node.js Interactive выступила Эшли Уильямс (Ashley Williams, она же @ag_dubs), менеджер сообщества разработчиков и контента в npm. Она рассказала о текущем состоянии дел в компании и рассказала, как фирма зарабатывает деньги. На самом деле npm — это коммерческая компания, которая получает прибыль от предоставления корпоративных услуг. Этого дохода достаточно, чтобы поддерживать деятельность в качестве нормальной компании, платить зарплату персоналу (сейчас в компании 23 сотрудника), и ещё остаётся на поддержку бесплатного репозитория пакетов npm.
Читать дальше →
Total votes 29: ↑23 and ↓6 +17
Views 10K
Comments 26

Терминология OneGet, NuGet, Chocolatey, PowerShellGet — разложим по полочкам

Visual Studio *C# *Build automation *Development for Windows *
В этой статье я хочу помочь разобраться в структуре пакетных менеджеров под Windows. Статья нацелена больше на тех, кто, как и я, пришли из мира Linux, где принято заходить в понимание процессов ниже уровня абстракций.

Уверен, что абстракции вы уже прочитали и без меня:
chocolatey для установки приложений, nuget — для установки зависимостей разработчиком.

Но это мало того грубо, так еще и неправда.

Итак, какие типы пакетов мы знаем из мира Linux? Внимание: не пакетные менеджеры, а именно сами пакеты. Самые распространенные условно делятся на две группы: ОС-зависимые (deb, rpm) или языко-зависимые (как правило, tar-болы). В принципе можно сказать, что первая группа — это приложения (утилиты), а вторые — зависимости (библиотеки). Но иногда это не так: среди пакетов ОС есть библиотеки, а среди языковых пакетов есть пакеты, устанавливающие еще и утилиты (например stdeb в pip или elastalert в npm) — если их устанавливать глобально, то получится как пакет ОС.

Возвращаемся к Windows.
Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Views 17K
Comments 23

Conan: менеджер зависимостей для C/C++

C++ *C *Industrial Programming *
Recovery mode
Tutorial
image

Здравствуйте. Сегодня речь пойдёт про Conan — современный менеджер зависимостей для C/C++. Если Вы уже активно работаете с ним, то навряд ли найдёте что-нибудь новое для себя. Иначе — прошу под кат.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Views 40K
Comments 72

Советы и секреты №2

Software Lifehacks for geeks IT-companies

Единый интерфейс для всех мессенджеров, самый удобный способ скачивать видео с YouTube, пакетный менеджер для Windows в стиле линуксового apt-get, встроенный калькулятор Google


Существует ли универсальный фонтенд, чтобы обмениваться сообщениями в WhatsApp, Messenger, Skype, Slack, Telegram, не устанавливая каждую программу?
Конечно, ведь работать с 20-30 мессенджерами по отдельности не очень комфортно. Гораздо удобнее собрать их в едином интерфейсе. Есть несколько универсальных решений для этого.

Во первых, свободная и бесплатная программа Rambox с открытым исходным кодом (репозиторий на Github) под Windows, Linux и Mac OS.


Читать дальше →
Total votes 31: ↑21 and ↓10 +11
Views 53K
Comments 104

Пакеты и пакетные менеджеры для k8s

Конференции Олега Бунина (Онтико) corporate blog System administration *IT Infrastructure *DevOps *
Все мы пользуемся каким-либо видом пакетных менеджеров, включая уборщицу тетю Галю, у которой в кармане прямо сейчас обновляется айфон. Но общего соглашения о функциях пакетных менеджеров нет, и стандартные для ОС rpm и dpkg, и системы сборки называют пакетными менеджерами. Предлагаем поразмышлять на тему их функций — что это такое и для чего они нужны в современном мире. А потом будем копать в сторону Kubernetes и внимательно рассмотрим Helm с точки зрения этих функций.


Разберемся, почему на этой схеме только функция шаблонизатора выделена зеленым, и в чем проблемы со сборкой и пакетированием, автоматизацией окружения и прочим. Но не беспокойтесь, статья не закончится на том, что все плохо. Сообщество не могло с этим смириться и предлагает альтернативные инструменты и решения — разберемся и с ними.

Помог нам в этом Иван Глушков (gli) своим докладом на РИТ++, видео и текстовая версия этого подробного и обстоятельного выступления ниже.

Видеозаписи этого и других выступлений по DevOps на РИТ++ опубликованы и открыты для свободного просмотра на нашем youtube-канале — заходите в поисках ответов на свои рабочие вопросы.
Total votes 26: ↑24 and ↓2 +22
Views 4.8K
Comments 2

Про зеркала репозиториев Centos и выбор лучшего из них

Open source *System administration **nix *
В прошлом году мы организовали у себя в сети общедоступные зеркала для нескольких Linux дистрибутивов. Это не сложный процесс и для больших проектов, вроде Ubuntu, почти полностью автоматизированный. В других случаях необходимо тем или иным способом связаться с проектом, например, в списке рассылки и явно высказать своё желание.

yum repolist

Технически это rsync, обычно по расписанию. Кто-то для этого предоставляет готовый набор скриптов, как Fedora, а кто-то просто говорит что надо синхронизироваться вот с этого сервера и рекомендуемый набор параметров. Самый затратный ресурс это место, мы недавно добрались до 4 терабайт и это дорого в нашем случае для того что не генерирует никакой прибыли. Взамен мы получили локальную доступность используемых нами дистрибутивов, это позволило упростить первоначальную настройку серверов исключив из неё обязательный доступ к Интернет. А ещё конечно мы рады что приобщились к чем-то большому, даже если наше участие в этом не сильно заметно.

Наше зеркало публичное, с него могут получать обновления все желающие, что собственно и происходит если судить по статистике обращений. В основном это Россия, но не только. Про то как так получается и как вообще происходит выбор конкретного сервера для обновлений на примере Centos седьмой версии этот пост.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 20K
Comments 4

Jinja2 в мире C++, часть третья. «Теперь ты в конане»

Open source *C++ *

image С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan-center-index). Об том, как это случилось, что для этого пришлось сделать и что вообще нужно делать, чтобы добавить туда свою библиотеку, и пойдёт речь под катом.

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 4.8K
Comments 8

Как Microsoft убила AppGet

Дата-центр «Миран» corporate blog Open source *System administration *Development for Windows *


На прошлой неделе Microsoft выпустила пакетный менеджер WinGet в рамках анонсов на конференции Build 2020. Многие посчитали это ещё одним доказательством сближения Microsoft с движением Open Source. Но только не канадский разработчик Кейван Бейги (Keivan Beigi), автор свободного менеджера пакетов AppGet. Сейчас он силится понять, что произошло за последние 12 месяцев, в течение которых он общался с представителями Microsoft.

В любом случае, теперь Кейван прекращает разработку AppGet. Клиентские и серверные службы переходят в режим технического обслуживания немедленно до 1 августа 2020 года, после чего будут закрыты навсегда.
Читать дальше →
Total votes 172: ↑165 and ↓7 +158
Views 60K
Comments 227

ZPM – менеджер пакетов для InterSystems IRIS

InterSystems corporate blog Open source *Programming *
Менеджеры пакетов для различных платформ очень широко применяются, позволяют быстро установить и настроить многие готовые компоненты и библиотеки. А также используются для развертывания собственных решений. При этом важно, чтобы менеджер пакетов обрабатывал зависимости, т.е. если ваше приложение использует какую-то библиотеку определенной версии, то менеджер пакетов при установке вашего приложения также установит необходимую версию этой библиотеки.

Теперь для InterSystems IRIS также доступен менеджер пакетов — ZPM.

ZPM позволяет найти, установить, обновить модуль, а также может использоваться для публикации модулей. Каждый модуль может быть отдельным приложением, библиотекой, фреймворком, утилитой или примером использования технологий InterSystems.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 743
Comments 0

Conan.io – неварварские методы работы

Газинформсервис corporate blog Information Security *C++ *C *Industrial Programming *
image

Всем привет!

Сегодня мы хотим поговорить о нашем опыте работы с пакетным менеджером Conan.io. Если вы так же, как и наша команда разработки Efros Config Inspector столкнулись с вопросами сборки под различные операционные системы, включая отечественные, и используете сторонние библиотеки, возможно, этот материал будет вам интересен.

Conan.io или…?


Efros Config Inspector был разработан как Windows приложение, но впоследствии было принято решение обеспечить совместимость и с отечественными ОС, такими как Astra Linux и РЕДОС. В процессе реализации этой задачи мы столкнулись с рядом трудностей, решить которые могли, во-первых, смена системы сборки программного обеспечения, во-вторых, подключение пакетного менеджера.

Разработка продукта велась на основе технологий Microsoft (Visual Studio и Team Foundation Server), но, как известно, это не самое удобное решение для сборки проекта под *.nix-системы, поэтому появились инструменты CMake. Тема выбора CMake достойна отдельной статьи. Если она вам интересна, напишите в комментариях, и мы обязательно вернемся к обсуждению данного вопроса в следующих публикациях.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 3.9K
Comments 6

Погружение в Helm Package Manager. Часть вторая

DataArt corporate blog DevOps *Kubernetes *
Tutorial

Helm — один из самых популярных пакетных менеджеров для Kubernetes, так что познакомиться с ним поближе стоит всем, кто сталкивается с задачами деплоя приложений. Эта статья завершает мое краткое, но достаточно полное введение в Helm.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 5.6K
Comments 8
1