The OpenNET Project / Index page

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

Выпуск серверной JavaScript-платформы Node.js 10 и пакетного менеджера NPM 6

24.04.2018 22:25

Анонсирован релиз Node.js 10.0.0, платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript. Node.js 10.0 относится к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Обновления для LTS-веток выпускаются в течение 4 лет. Поддержка прошлой LTS-ветки Node.js 8.0 продлится до 2021 года, а позапрошлой LTS-ветки 6.0 до 2020 года. Поддержка промежуточной ветки Node.js 9.0 будет прекращена в июле 2018 года.

Среди улучшений в Node.js 10.0:

  • Обновление движка V8 до версии 6.6. В новой версии отмечается оптимизация производительности асинхронных операций, функций promises/async, методов работы с массивами и строками (Array.prototype.*, String.prototype.indexOf ). Более чем в 10 раз увеличена производительность операции Array#reduce для массивов с большим числом пустот или значений с плавающей запятой. Производительность оператора instanceof возросла в 3.6 раза. Устранены некоторые узкие места с производительностью Function.prototype.bind. WeakMap и WeakSet. Сокращено потребления памяти в движке V8. До осенней стабилизации Node.js 10 запланирован переход на V8 версии 6.7;
  • Переход на использование OpenSSL 1.1.0, что позволило обеспечить поддержку потокового шифра ChaCha20 и алгоритма аутентификации сообщений (MAC) Poly1305. В дальнейшем до осенней стабилизации Node.js 10 запланирован переход на ветку OpenSSL 1.1.1 для обеспечения поддержки TLS 1.3;
  • Продолжен перевод проекта на новую систему обработки ошибок, в которой каждой проблеме присвоен свой уникальный код ошибки, что позволит организовать автоматизированный разбор проблем без привязки к тексту сообщения об ошибке и выпускать обновления текстов ошибок не дожидаясь следующего значительного релиза;
  • Стабилизирован и переведён в категорию официально поддерживаемых новый API Node.js (N-API), который предоставляет средства для создания нативных дополнений к Node.js, не привязанных к JavaScript runtime и рассматриваемых как часть Node.js. N-API позволяет без перекомпиляции использовать существующее дополнение с новыми версиями Node.js и с разными JavaScript-движками (V8 и Chakra-Core);
  • Расширены средства диагностики и отладки. Добавлены новые события трассировки для точного измерения времени выполнения кода, позволяющие выявлять узкие места и провалы в производительности в пользовательском коде. В API также добавлена возможность включения и выключения трассировки во время выполнения программы;
  • Добавлен экспериментальный API fs/promises, предоставляющий вариант функций "fs", реализованный при помощи механизма promise и демонстрирующий более высокую эффективность;
  • Обеспечена поддержка новых возможностей языка JavaScript. Function.prototype.toString() теперь возвращает строку с кодом функции, полостью совпадающую с тем, как функция задана в исходных текстах (все отступы и даже комментарии сохраняются);
  • Добавлены дополнительные изменения для противодействия атакам по сторонним каналам и добавлена защита от обращения к памяти вне границ области, отведённой для WebAssembly, а также доступной через массивы и строки JavaScript.

Одновременно объявлено о выходе пакетного менеджера NPM 6, в котором отмечено существенное увеличение производительности - некоторые операции стали выполняться до 17 раз быстрее. В 2-3 раза ускорено выполнение команды "npm ci". Добавлена возможность настройки webhook (уведомления об изменении пакетов) непосредственно из CLI. Реализовано автоматическое разрешение конфликтов с файлами блокировки (lockfile) и упрощено создание повторяемых сборок.

В репозитории организована проверка пакетов на наличие известных уязвимостей - при установке пакетов, содержащих неисправленные уязвимости, пользователю теперь выводится специальное предупреждение. Для проведения анализа на наличие уязвимостей в уже установленных пакетах и связанных с ними зависимостях добавлена новая команда "npm audit". Более наглядно предоставлена информация о целостности метаданных, что упрощает выявление вредоносных модификаций или повреждений в пакетах.

  1. Главная ссылка к новости (https://medium.com/@nodejs/the...)
  2. OpenNews: Выпуск серверной JavaScript-платформы Node.js 9.0
  3. OpenNews: Представлен Ayo, очередной форк проекта Node.js
  4. OpenNews: Уязвимость в Node.js, которая может привести к отказу в обслуживании
  5. OpenNews: Выпуск серверной JavaScript-платформы Node.js 8.0
  6. OpenNews: Критическая проблема в NPM 5.7, приводящая к смене прав доступа на системные каталоги
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48490-npm
Ключевые слова: npm, node.js, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (62) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, ВебОрангутан (?), 22:48, 24/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Молодцы! Уважаем!
     
     
  • 2.2, Anonim (??), 23:32, 24/04/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Кто молодцы, кого уважаем и причем тут высокая производительность?
     
     
  • 3.3, Аноним (-), 23:42, 24/04/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Тут как в действенных* шампунях против перхоти.

    * по сравнению со своей предыдущей разработкой.

     

  • 1.4, KroTozeR (ok), 23:51, 24/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Когда-то, году в 2006-ом, я друзьям и коллегам рассказывал о концепции "распределённой среды исполнения". Не без оснований - участвовал в одном интересном проекте.

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

    Тогда эту концепцию просто не поняли...

    Сейчас же наблюдается следующее: V8 становится единым ядром ВМ JS для обеих сторон. API расширяется и всё теснее сопрягается с функциями ОС. WebAssembly на подходе. Электрон и иже прочие с ним. Как говорится, "те же яйца, только в профиль". Сам бы не вспомнил, если б не программист из Сан-Франциско, который тогда эту концепцию слышал, но так же не воспринял всерьёз. Говорит, сейчас всё к этому идёт семимильными шагами. Очередной пример "созревания" идеи. До сих пор продолжается.

    Если что, проект назывался "Deeptown.Org", и эта штука реально работала, демонстрируя все упомянутые качества и не только. Что с ним стало сейчас, я не в курсе, но такой объём рабочего кода бесследно пропасть не может.

     
     
  • 2.5, Аноним (-), 23:56, 24/04/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Только Особенно в этом преуспели майнеры. Остальным нафиг не упало.
     
     
  • 3.7, KroTozeR (ok), 00:05, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Там главная пользовательская killer-фича была в таких моментах: приложение не нужно было устанавливать, отслеживать зависимости, да и вопрос сопряжения решался сам собой: они работали в единой среде. Нужно было лишь разрешение пользователя на доступ. Нынче что-то подобное имеется в Андроиде и ВЕБ-тулкитах типа Google Docs.

    Один фиг всё идёт к подобному. Вся репликация, JIT-компиляция и прочие процессы оптимизации запуска могут происходить на фоне уже запущенного по сети ПО. Пользователь даже не будет знать, что что-то устанавливается к нему в браузер. Просто следующий раз запустится быстрее.

     
     
  • 4.25, Anonymoustus (ok), 08:45, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Пользователь даже не будет знать, что что-то устанавливается к нему в
    > браузер. Просто следующий раз запустится быстрее.

    Спасибо, не надо. А то программистов начнут калечить и убивать прямо на улицах.

     
     
  • 5.33, KroTozeR (ok), 09:14, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Пользователь даже не будет знать, что что-то устанавливается к нему в
    >> браузер. Просто следующий раз запустится быстрее.
    > Спасибо, не надо. А то программистов начнут калечить и убивать прямо на
    > улицах.

    Тогда это не выглядело настолько критичным. Достаточно вспомнить, что тогда и Java-апплеты ещё не запрещали. К тому же, вся "каша" внутри клиента не имела доступа к файлам хостовой ОС. Только по прямым запросам через диалоговое окно или в специальный каталог локальной ФС.

    Напомню: это всё — дело прошлого. Сейчас я всего лишь предаюсь воспоминаниям. Что стало с этим кодом — без понятия.

     
     
  • 6.46, _hide_ (ok), 10:53, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вам бы перед этим посмотреть хотя бы на концепцию OpenOffice (подозреваю, что тогда ещё StarOffice). UNO делает всё, что Вам нужно.
     
  • 2.6, Аноним (6), 00:02, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ради таких коментариев в том числе и хожу на данный ресурс :)
     
     
  • 3.8, KroTozeR (ok), 00:11, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Ради таких коментариев в том числе и хожу на данный ресурс :)

    Дык, сейчас это — дело прошлого. Оно ни на что не влияет, если только двое авторов этого дела из Новосиба не договорились с какой-то конторой. Тогда систему хотела скупить одна весьма влиятельная организация, но они не договорились. А может это только внешне так выглядело.

    Ничто не ново под Луной.

     
  • 2.9, Алконим (?), 00:13, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Клиентская сторона не может полностью доверенной.
     
     
  • 3.11, KroTozeR (ok), 00:47, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Клиентская сторона не может полностью доверенной.

    Так она и не была полностью доверенной для локальной ОС. Там даже взаимодействие объектов определялось по их UID через политику прав доступа. Нечто, сильно похожее на дерево ФС Linux, только действующее в адресном пространстве распределённой системы, где адрес — хеш. Локально же поддерживалась своя файловая система, где для каждого UID был свой слой абстракции. Файлы не пересекались, если только сам пользователь не даст на это добро.

    Вообще, эта штука изначально рассчитывалась как исполнительная среда виртуальной реальности. Авторы подошли к вопросу с этой стороны, отправив все вопросы со "средствами погружения" в долгий ящик, да и вообще не заморачиваясь на этот счёт.

    Если уж на то пошло, то там вообще не было понятия запуска приложения. Висящие в пространстве объекты реагировали на события запросов, генеря инстанции интерфейса и профили для каждого пользователя. Можно было лишь запустить локально бинарник на исполнение с единственной целью — создать в среде необходимые для функционирования ПО объекты.

    Вот этим и предлагалось пользоваться. Пример: есть строка поиска, в ней вводится слово "калькулятор", а среди результатов - ссылка на приложение. По клику на ней открывалось окно калькулятора. Примерно то же, на что сейчас похожи ВЕБ-приложения, только в 2006 году.

     
     
  • 4.27, Anonymoustus (ok), 08:53, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот этим и предлагалось пользоваться. Пример: есть строка поиска, в ней вводится
    > слово "калькулятор", а среди результатов - ссылка на приложение. По клику
    > на ней открывалось окно калькулятора. Примерно то же, на что сейчас
    > похожи ВЕБ-приложения, только в 2006 году.

    https://en.wikipedia.org/wiki/Spotlight_%28software%29

    А вообще это называют incremental search и оно древнее, как сами компьютеры. Реализации и цели использования могут разниться.


    Хорошо бы инноваторам перед изобретением всего нового знакомиться с уже созданными вещами. :)


    ЗЫ

    https://en.wikipedia.org/wiki/Incremental_search

    https://www.youtube.com/watch?v=jErqdRE5zpQ

     
     
  • 5.34, KroTozeR (ok), 09:16, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Хорошо бы инноваторам перед изобретением всего нового знакомиться с уже созданными вещами.
    > :)

    Ну, что ж теперь-то судить? Сейчас проекта в открытом виде не существует.

    > А вообще это называют incremental search и оно древнее, как сами компьютеры.
    > Реализации и цели использования могут разниться.

    За ссылки спасибо!

     
  • 2.21, Аноним (-), 08:09, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не льсти себе, там и виртуальная машина не очень единая, и разница для стороны, на которой запущен код, очень даже есть, и репликацией ты называешь простое скачивание по хттп, да ещё и с левого cdn, сами приложения так прекрасно поделены на объекты, что яндекс крадёт у тебя движения мышью и введённые данные со страницы банка, где ты там усмотрел ЕДИНОЕ адресное пространство у клиента и сервера — вообще непонятно. В общем, намешал бреда и назвал себя прозорливым алтфаком. Фу.
     
     
  • 3.28, Anonymoustus (ok), 08:58, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вероятно, парни работали над повторным изобретением идеи мейнфрейма. :)
     
     
  • 4.30, KroTozeR (ok), 09:07, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Вероятно, парни работали над повторным изобретением идеи мейнфрейма. :)

    Кстати, на мейнфрейм оглядка была, да. Но цели были слегка иные. Вряд ли у мейнфрейма в программном стеке ПО предполагался т.н. "сервер доступа", отвечающий за маршрутизацию трафика и уж тем более амплитуд звуковых волн. Да-да, там была такая штука, она смешивала амплитуды, исходя из позиции "аватара" в 3D-пространстве. Отрабатывался даже "эффект Доплера".

    Я ещё раз повторю — эта штука позиционировалась как механизм виртуальной реальности. Задачи ВЕБ-а брать на себя даже не собирались. По ВЕБ-у предполагалась трансляция вывода от браузерного движка в 3D-сцену.

     
     
  • 5.42, Anonymoustus (ok), 10:12, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В мейнфрейме может быть, условно говоря, «всё» (что угодно). Мейнфрейм, концептуально и архитектурно, это уже и есть, по сути, «виртуализатор» — этакая абстрактная компьютерная среда, посредством которой реализована «виртуальная реальность», внутри которой в «виртуальных компьютерах» одновременно могут жить разные ОС, программы в которых даже знать не будут, что это всё вокруг них «ненастоящее».
     
  • 3.29, KroTozeR (ok), 09:03, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > не льсти себе, там и виртуальная машина не очень единая, и разница
    > для стороны, на которой запущен код, очень даже есть, и репликацией
    > ты называешь простое скачивание по хттп, да ещё и с левого
    > cdn, сами приложения так прекрасно поделены на объекты, что яндекс крадёт
    > у тебя движения мышью и введённые данные со страницы банка, где
    > ты там усмотрел ЕДИНОЕ адресное пространство у клиента и сервера —
    > вообще непонятно. В общем, намешал бреда и назвал себя прозорливым алтфаком.
    > Фу.

    Эх, любителей выдавать своё мнение за истину на Опене и Лоре развелось тучами. Даже не знаю, откуда вы все такие берётесь?

    1) Хоть где-то сказано, что идея моя? Я даже проект назвал. Авторы идеи — два программиста из Новосибирска. Я лишь принимал участие в нём. Но рассказывать — рассказывал. Так при чём тут "прозорливость"?

    2) Что было там, мне, наверное, лучше известно, чем тебе. Я с этой штукой имел непосредственное знакомство на уровне кода и тех.доков;

    3) Не было никакого CDN. Протокол HTTP не применялся вообще. Вместо него использовался собственный протокол DTTP (DeepTown Transport Protocol), способный работать как поверх стека TCP/IP, так и без него, выполняя даже функции Ethernet;

    4) Единое адресное пространство было у проекта Deeptown.Org, а не у современных ВЕБ-приложений. Ты чем вообще читаешь??? Было лишь косвенное сравнение одного с другим.

     
  • 2.24, Anonymoustus (ok), 08:44, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Предполагалось, что на серверной и клиентской сторонах применяется единая виртуальная машина, исполняющая байт-код приложений, которым совершенно без разницы где исполняться.

    Это вам в IBM с такими идеями надо было. Правда они уже давно их реализовали.

     
     
  • 3.31, KroTozeR (ok), 09:11, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Предполагалось, что на серверной и клиентской сторонах применяется единая виртуальная машина, исполняющая байт-код приложений, которым совершенно без разницы где исполняться.
    > Это вам в IBM с такими идеями надо было. Правда они уже
    > давно их реализовали.

    Идея не моя, а двух программеров из Новосибирска. Вполне возможно, что что-то реализовали. Только цели там другие ставились.

    Гугл хотел скупить, но автор проекта не захотел продавать, хотя встречался с ними. Тогда Гугл ещё располагался в Москве в т.н. "розовом здании" с небольшим садом в ограде. Позже куда-то съехали.

     
     
  • 4.47, Аноним (-), 12:11, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Гугл хотел скупить, но автор проекта не захотел продавать, хотя встречался с ними. Тогда Гугл ещё располагался в Москве в т.н. "розовом здании" с небольшим садом в ограде. Позже куда-то съехали.

    Сестра, два клозапина этому наполеону.

     
     
  • 5.48, KroTozeR (ok), 12:27, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Сестра, два клозапина этому наполеону.

    Не хочешь, не верь. Тебя кто заставляет, что ли? И клозапин свой забери обратно.
    Я рассказываю, что видел, а кто как на это отреагирует — ни горячо, ни холодно.

     
  • 4.54, anonymous (??), 13:18, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Тогда Гугл ещё располагался в Москве в т.н. "розовом здании" с небольшим садом в ограде.

    Ору)))

     
     
  • 5.55, KroTozeR (ok), 13:54, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ори дальше.
     
  • 2.35, КО (?), 09:19, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по датам, как раз совпадает с первой версией GWT. Там как раз этот подход и реализован. Хочешь код на клиенте выполняешь, хочешь на сервере. :)
     
     
  • 3.37, KroTozeR (ok), 09:32, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Судя по датам, как раз совпадает с первой версией GWT. Там как
    > раз этот подход и реализован. Хочешь код на клиенте выполняешь, хочешь
    > на сервере. :)

    Наблюдение интересное, но чтобы разработать подобное, нужен был хотя бы год на разработку архитектуры и написание кода. Думаю, оно было независимо друг от друга.

    У Deeptown.Org была своя ВМ "GIDE", свой язык программирования K++, рассчитанный на неё. Кстати, там лямда-функции представлялись как объекты данных. Хотя точнее было бы сказать объекты моделей данных, содержавших в себе исполняемый код. Можно было передать эту функция как значение между объектами из состава разного ПО.

    Кстати, нечто местами похожее проглядывается в концепции среды исполнения Phantom OS. Там вообще ФС в привычном понимании нет. Файл — есть объект, в свойстве которого хранится содержимое обычного файла. В этом проекты схожи.

     
  • 2.36, Аноним (-), 09:23, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >[оверквотинг удален]
    > среды исполнения". Не без оснований - участвовал в одном интересном проекте.
    > Предполагалось, что на серверной и клиентской сторонах применяется единая виртуальная
    > машина, исполняющая байт-код приложений, которым совершенно без разницы где исполняться.
    > При запуске приложения, на клиентской стороне выполняется процесс репликации кода. Сами
    > приложения поделены на объекты, которые могут частично располагаться на сервере, а
    > частично на клиенте, при этом свободно взаимодействовать друг с другом в
    > едином адресном пространстве. Приложение может исполняться на сервере, но его оконный
    > интерфейс отображается на клиенте, и это — только один из возможных
    > вариантов.
    > Тогда эту концепцию просто не поняли...

    Так эта JEE ;)

     
     
  • 3.38, KroTozeR (ok), 09:36, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Так эта JEE ;)

    Тоже много общего. Но там был свой сетевой протокол, аудиоподсистема, механика 3D-пространства с тремя представлениями объектов: 1) Графическое; 2) Физическое; 3) Механическое.

    В общем, цели стояли разные. Для вывода графики оно использовало на тот момент движок Ogre3D.

     
  • 2.39, YetAnotherOnanym (ok), 09:42, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > виртуальная машина, исполняющая байт-код приложений, которым совершенно без разницы где исполняться

    Емнип, Джо Андерсон сотоварищи из Эрикссон уже написали такое, только оно не в браузере крутится.

     
     
  • 3.41, KroTozeR (ok), 09:52, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Емнип, Джо Андерсон сотоварищи из Эрикссон уже написали такое, только оно не
    > в браузере крутится.

    Конкретно то решение было написано на C и C++, представляло собой связку ядра и модулей, определяющих функционал ноды (сервер, клиент, клиент+сервер, транслятор и т.д.). Браузер там и близко не применялся.

     
  • 2.57, Аноним (-), 17:46, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Приложение может исполняться на сервере, но его оконный интерфейс отображается на клиенте

    Вау, они изобрели X11

     
     
  • 3.60, KroTozeR (ok), 07:58, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>Приложение может исполняться на сервере, но его оконный интерфейс отображается на клиенте
    > Вау, они изобрели X11

    Влом уже морально распинаться... Особенно перед такими "яслями", выдёргивающими фразу из контекста.

    В кратце объясню, но скорее для других:

    В среде "висит" набор объектов, содержащих как данные, так и исполняемый байт-код. Все под одним UID, а потому имеют друг к другу доступ. Это — и есть ПО. Запрос извне к публичной фабричной функции генерит объед под UID пользователя, который обратился. Этот объект уже тянет на исполнение всё остальное необходимое. У клиента в конфигурации есть доступ к графическому серверу, а на сервере нет. Тем более под этим UID. Потому создаётся реплика всех объектов-участников графической оболочки ПО. Т.е., на стороне клиента работает "графическая" часть приложения, а на стороне сервера — общая для всех пользователей.

    И никакого X11 там и в помине не было! Там не передавылись вызовы отрисовки примитивов. Само ПО, образно говоря, "проростало" в пространство клиента своей графической частью.

     

  • 1.12, Аноним (-), 02:06, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Когда уже сделают node как зависимость для приложений.. чтоб они не тащили браузер с собой, а только подтягивали
     
     
  • 2.13, th3m3 (ok), 02:17, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если я правильно тебя понял, то ты путаешь Electron с Node.js. В Ноде нет никакого браузера, там только движок V8.
     
  • 2.14, Аноним (-), 02:30, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нода - фактически просто скриптовый язык, который можно использовать в разных случаях жизни, хоть сисадминство, хоть сервера (в принципе, как и остальные подобные языки).
     

  • 1.20, Илья (??), 07:49, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В ноде мне не нравится, что npm-пакеты при установке с опцией "-g" по умолчанию требуют прав суперпользователя.
    Учитывая, что база npm - это та еще помойка, хотелось бы, чтобы пакеты ставились в папку пользователя.
    Да, это можно настроить, но почему так сделано - непонятно.
     
     
  • 2.22, Аноним (-), 08:12, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > В ноде мне не нравится, что npm-пакеты при установке с опцией "-g"
    > по умолчанию требуют прав суперпользователя.
    > Учитывая, что база npm - это та еще помойка, хотелось бы, чтобы
    > пакеты ставились в папку пользователя.
    > Да, это можно настроить, но почему так сделано - непонятно.

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

     
     
  • 3.40, YetAnotherOnanym (ok), 09:49, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > предложи получше способ установки пакета в систему, не используя специальных привелегий?

    "--prefix dirname" ?


     
     
  • 4.58, Аноним (-), 17:50, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это у вас теперь называется "в систему"? Лучше бы ты про докер сказал.
     
  • 3.65, Вы забыли заполнить поле Name (?), 22:26, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > предложи получше способ установки пакета в систему, не используя специальных привелегий?

    echo 'prefix = ~/.node' >> ~/.npmrc

    После этого npm i -g будет ставить в ~/.node

     
  • 2.23, ffsdmad (ok), 08:16, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    попробуй без опции -g (--global) ставить  
     
     
  • 3.50, Аноним (-), 12:43, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, вы не поняли В вашем случае пакет с зависимостями установится в node_mod... большой текст свёрнут, показать
     
     
  • 4.51, Илья (??), 12:46, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/nodeschool/discussions/wiki/In
    stalling-global-node-modules-(Linux-and-Mac)

    Извините, кажется, опеннет обрезает ссылки

     
  • 2.32, Аноним (-), 09:11, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    После включения в современные версии npm команды npx, надобность в глобальных пакетах вообще отпала. Не могу представить себе  ни одной причины, по которой еще нужно использовать глобальные пакеты.
     
     
  • 3.43, ВебЗоопарк (?), 10:24, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > После включения в современные версии npm команды npx, надобность в глобальных пакетах
    > вообще отпала. Не могу представить себе  ни одной причины, по
    > которой еще нужно использовать глобальные пакеты.

    Ну да, ну да. В документации черным по еблому

    INSTALL

    npm install -g npx

     
  • 3.64, Вы забыли заполнить поле Name (?), 22:23, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Не могу представить себе  ни одной причины, по
    > которой еще нужно использовать глобальные пакеты.

    Для уязвимостей самое то.

     
  • 2.44, Аноним (-), 10:43, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так надо Node ставить из NVM, а не репозитория, тогда и global пакеты будет храниться в юзерспейсе, как и сама Node.
     

  • 1.45, Аноним (-), 10:46, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    NPM 6 войдет в состав Node только к версии 10.1, не раньше.
     
  • 1.49, Аноним (-), 12:35, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В июне выйдет обновление с V8 6.7 (насчет 6.8 команда не уверена, что имеет смысл тратить время на починку ABI V8 к версии 6.6).
     
  • 1.52, anonymous (??), 13:04, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    эта та байда с псевдо асинхронным callback hell про которую ее создатель сказал что ее нужно похоронить и писать на golang?
     
     
  • 2.56, Аноним (-), 16:13, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    "Вспомнити", ты ли это?
     
  • 2.63, Вы забыли заполнить поле Name (?), 22:22, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > эта та байда с псевдо асинхронным callback hell про которую ее создатель
    > сказал что ее нужно похоронить и писать на golang?

    Можно ссылку?

     
     
  • 3.67, Вы забыли заполнить поле Name (?), 22:34, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://www.mappingthejourney.com/single-post/2017/08/31/episode-8-interview-w
     
     
  • 4.69, eeee (?), 01:06, 01/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    годно
     

  • 1.53, anonymous (??), 13:07, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >"каждой проблеме присвоен свой уникальный код ошибки"

    это просто мега LOL

     
  • 1.59, Вареник (?), 23:43, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Релиз выходит за полгода до начала стабилизации???
     
     
  • 2.61, Аноним (-), 10:08, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да, целых полгода на полировку и стабилизацию. А что в этом плохого?
     
     
  • 3.62, Вы забыли заполнить поле Name (?), 22:19, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Рискну предположить, что аноним выше говорит, что это не релиз, а бета (или альфа) раз он еще не готов. Но видимо, в мире js заведено по-другому, чтобы веб-(животные, любящие бананы и лазить по деревьям) не боялись "полировать" и стабилизировать.
     
     
  • 4.68, Илья (??), 10:27, 30/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/nodejs/Release#release-schedule

    Вот план релизов ноды. Перед тем как оскорблять людей, ознакомьтесь в следующий раз.

     
     
  • 5.70, Вы забыли заполнить поле Name (?), 18:19, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > https://github.com/nodejs/Release#release-schedule
    > Вот план релизов ноды. Перед тем как оскорблять людей, ознакомьтесь в следующий
    > раз.

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

     

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



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

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