Как мне обновить Node.js?
Ответы на этот вопрос — работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия.
На этом вопросе есть ответы на Переполнение стека на русском : Как обновить NodeJS?
Я сделал следующее, чтобы обновить свой npm:
npm update npm -g
Но я не знаю, как обновить Node.js. Какие-либо предложения? (Я использую Node.js 0.4.1 и хочу обновить до Node.js 0.6.1.)
Возможный дубликат: Как я могу обновить NodeJS и Npm для следующих версий? , (по крайней мере, должны быть связаны)
Возможный дубликат обновления Node.js до последней версии
Я не совсем понимаю, почему большинство ответов предлагают установить сторонние инструменты: /
Пожалуйста, обратитесь к этому сайту, hostingadvice.com/how-to/update-node-js-latest-version, в который включены все методы обновления узла
После того, как на этот вопрос впервые ответили (если вам не нужно управление версиями), все
Это скрипт Bash, который позволяет вам загружать и управлять различными версиями узла. Полный исходный код здесь .
Существует отдельный проект для nvm для Windows: github.com/coreybutler/nvm-windows
Ниже приведены полные инструкции по использованию NVM для нескольких версий узлов в Windows.
- скачайте nvm-setup.zip и установите его.
- выполнить команду nvm list available из cmd или gitbash или powershell, это перечислит все доступные версии узла
- используйте команду, nvm install version например, nvm install 12.14.0 чтобы установить на машину
- последний раз установленный использовать nvm use version для использования более новой версии, например nvm use 12.14.0
К вашему сведению, команда для запуска после установки NVM называется ‘nvm install <версия>‘. Например, ‘nvm install v0.8.7’версия>
Тебе это не нужно. Узел не Рубин.
@SimonEast Существует nvm для Windows: github.com/coreybutler/nvm-windows
@PhilHannent согласно странице github NVM, они не поддерживают NVM на окнах, поэтому можно сказать, что «нет официального NVM для окон»
Для Windows просто скачайте последнюю версию и установите ее. Он будет автоматически обновлен до новой версии, которую вы скачали.
Я использовал следующие инструкции для обновления с Node.js версии 0.10.6 до 0.10.21 на Mac.
-
Очистить кэш NPM:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Или выберите конкретную версию и установите ее так:
sudo n 0.8.20
В производственных средах вы можете обратить внимание на нумерацию версий и быть разборчивыми в отношении нечетных / четных номеров.
- Общая процедура: Д. Уолш
- Стабильные / нестабильные версии: P.Teixeira
Обновление (июнь 2017 г.):
Этот четырехлетний пост все еще получает положительные голоса, так что я думаю, он все еще работает для многих людей. Однако сам мистер Уолш порекомендовал обновить Node.js, используя вместо этого nvm .
Итак, вот что вы можете сделать сегодня:
Узнайте, какую версию Node.js вы используете:
node --version
Узнайте, какие версии Node.js вы, возможно, установили, и какую из тех, которые вы используете в настоящее время:
nvm ls
Перечислите все версии Node.js, доступные для установки:
nvm ls-remote
Очевидно, для Windows команда будет выглядеть примерно так:
nvm ls available
Предполагая, что вы выберете Node.js v8.1.0 для установки, вы должны набрать следующее, чтобы установить эту версию:
nvm install 8.1.0
После этого вы можете свободно выбирать между установленными версиями Node.js. Поэтому, если вам нужно будет использовать более старую версию, такую как v4.2.0, вы должны установить ее в качестве активной версии следующим образом:
nvm use 4.2
Вы должны указать свой источник — ваш ответ цитируется в блоге Дэвида Уолша: davidwalsh.name/upgrade-nodejs . Следует также отметить, что этот метод имеет серьезные недостатки, некоторые довольно разрушительные, как видно из комментариев к исходному сообщению в блоге.
К сожалению, это не сработало для меня . делало точно так, как описано на машине с Linux — ‘node -v’ до и после показывал ‘v0.10.5’
Еще один шаг. Закройте и снова откройте терминал или, если вы используете ssh, выйдите и снова войдите в систему, чтобы увидеть новый узел-v
@Rob Imig: глобально установленные сценарии обычно идут в такие места /usr/local/bin , где для установки требуются специальные разрешения. Дополнительная информация: github.com/npm/npm/issues/3139 Возможное исправление / обходной путь (если вы действительно хотите избежать его использования sudo ): stackoverflow.com/questions/16724259/npm-command-sudo-or-not
Кажется, работает для меня, но только что перешел по ссылке на блог Дэвида Уолша выше, и он прямо сказал, чтобы не использовать его — будьте осторожны!
Если у вас установлен Homebrew (только для macOS):
$ brew upgrade node
Согласен, я просто запускаю «brew upgrade» каждые несколько дней, и я в курсе последних изменений для всех своих пакетов
Это боль, потому что это означает необходимость обновить xcode, что означает необходимость обновления osx .
Мой говорит, что узел не установлен. Примечание: я не установил узел с homebrew. Есть ли что-то еще, что я должен сделать?
Как установить конкретную версию узла, используя brew?
Я написал это супер в начале своей карьеры, и с тех пор у меня была возможность попробовать кучу разных техник. Я настоятельно рекомендую установить n и использовать это, если вы можете, а ля другой ответ на эту тему: stackoverflow.com/a/19584407/392113
Это простое решение, которое работает для всех поддерживаемых операционных систем *, включая Windows :
После большого количества серфинга и не находя прямого решения, я просто попытался зайти на сайт Node.js , нажал кнопку DOWNLOADS на домашней странице и запустил программу установки (MSI).
К счастью, он обо всем позаботился, и с помощью нескольких нажатий кнопки «Далее» я получил последнюю версию Node.js, запущенную на моей машине с Windows.

Для Docker пользователей, вот официальный Node.js изображение .
PS: Для проверки вашей версии Node используйте npm version или node —version .
PPS: следите за блогом NodeJS — Уязвимости, чтобы вы не пропустили важные релизы по безопасности.
* Операционные системы, поддерживаемые Node.js: Windows , Linux , MacOS , SunOS , IBM AIX
Так просто и очевидно . Я искал ярлык, но этот путь кажется самым простым. node —version чтобы убедиться, что это сработало .. мне тоже пришлось это гуглить — не очень часто проверяю версию моего узла.
Это не сработало для меня. У меня древняя установка 0.10.26. Я пытался установить 6.10.0 LTS, но кажется невозможным, я могу загрузить и установить 6.10.0 столько раз, сколько я хочу, машина с Windows 10 может видеть только 0.10.26. В «добавить удалить программы» я вижу только 6.10.0.
Почему именно вы гиперссылки на вики-страницы операционных систем?
Я предпочитаю CLI: D, и я пользователь Windows. npm install -g npm stable затем npm install -g node
Как обычно, в Windows двойной щелчок — это все, что вам нужно, чтобы позаботиться об обновлении. Можно подтвердить успешное обновление несколько раз, просто загрузив последнюю версию и установив ее.
Все платформы (Windows, Mac и Linux)
Обновлено (июнь 2020 г.)
Альтернатива 1: через установщик
Просто зайдите на nodejs.org и используйте последнюю версию установщика.
Альтернатива 2: через NPM
npm install -g npm stable
npm install -g node
Вот и все, ребята. Раньше он был более сложным, и люди использовали различные виды пакетов и стратегий для управления им. Но все изменилось в лучшую сторону.
После переустановки gulp не работал. Затем я позвонил, npm rebuild и снова все было хорошо.
Это не сработало для меня. У меня древняя установка 0.10.26. Я пытался установить 6.10.0 LTS, но кажется невозможным, я могу загрузить и установить 6.10.0 столько раз, сколько я хочу, машина с Windows 10 может видеть только 0.10.26. В «добавить удалить программы» я вижу только 6.10.0. Я не могу найти, как удалить или обновить эту старую версию, или как установить новую версию поверх нее. Любые идеи?
Для последнего комментария вы можете использовать команду «где», чтобы найти исполняемый файл. Например: «где узел.exe». В моей системе (win10) это дает «C: \ Program Files \ nodejs \ node.exe»
Я согласен, просто зайдите на nodejs.org и загрузите, и он будет обновлять все автоматически
Я попробовал другие решения этого вопроса, и этот был самым простым и наименее расстраивающим.
Первое обновление npm ,
npm install -g npm stable
Затем обновите node ,
npm install -g node или npm install -g n
проверить после установки версии,
node —version или node -v
Имейте в виду, что это работает для меня под Windows 2016, но узел был установлен в каталог текущего пользователя C:\Users\my-current-user\AppData\Roaming\npm\. :; это не обновляло более старую установку C:\Program Files\nodejs ни под переменной пути. в итоге я переустановил с помощью msi-installer. это исправило это для меня.
Это ужасная идея. Почему? Более поздние версии npm требуют более поздней версии узла. Поэтому вы можете обновить npm, и тогда он перестанет работать, так как вам нужна более новая версия узла. Таким образом, вы вернулись к началу, и теперь ваш npm сломан.
его установки 6.8.0 для npm , но я 6.11 хочу для NodeJS, это нормально использовать npm install -g npm
Отличная работа, спасибо. Это должен быть принятый ответ!
После этого нам нужно поменять символическую ссылку ln -sf /usr/local/n/versions/node/10.17.0/bin/node /usr/bin/node
В Windows вы можете использовать Chocolatey для установки и обновления Node.js (и многих других пакетов).
Установить узел
cinst nodejs.install
Обновить узел
cup nodejs.install
Примечание: вам нужно будет установить Chocolatey, прежде чем вы сможете использовать cinst и cup .
Я получаю: версия схемы «Microsoft.AspNet.Mvc» несовместима с версией 2.1.31022.9038 NuGet. Обновите NuGet до последней версии с go.microsoft.com/fwlink/?LinkId=213942 . Когда я попытался запустить кубок nodejs.install . Обнаружил, что если я запускаю nuget.exe update -self на nuget.exe в каталоге C: \ Chocolatey \ chocolateyinstall. Надеюсь, это кому-нибудь поможет.
cinst nodejs.install Chocolatey (v0.9.8.27) устанавливает ‘nodejs.install’ и зависимости. При установке вы принимаете лицензию для ‘nodejs.install’ и каждую устанавливаемую вами зависимость. Не удалось найти пакет ‘nodejs.install’. Команда ‘install’ не выполнена (иногда это указывает на частичный сбой). Дополнительная информация / пакеты: nodejs.install
Я чувствую вопрос о том, как вы обновляете Chocolatey.
Какая разница между nodejs.install а nodejs ?
@OhadSchneider, если вы используете, .install то вы сможете удалить узел из «Приложения и функции» в Windows
Чтобы контролировать свою версию Node.js, вы можете попробовать n . Я нашел это очень простым и полезным.
n — это бинарное управление Node.js, без подоболочек, без настройки профиля, без замысловатого API, просто.
npm install -g n
n 0.6.19 установит Node.js v0.6.19.
Не работает на окнах.
Также вы можете переключаться между различными версиями nodejs, просто наберите «n» и выберите
Я не мог заставить его работать на Windows либо. Автор должен опубликовать этот факт. Это был тупик для меня.
Это работает для меня в Windows в оболочке git bash. Так что, если вы используете git, запустите git bash и попробуйте там!
У меня на Win7 не работает — даже в git bash. npm ERR! notsup Not compatible with your operating system or architecture: n@1.2.9 npm ERR! notsup Valid OS: !win32 npm ERR! notsup Valid Arch: any npm ERR! notsup Actual OS: win32
Чтобы обновить узел до последней версии или до определенной версии, вы можете сделать следующее:
sudo npm install n -g sudo n 0.10.18 // This will give you the specific version
Для последней стабильной версии:
sudo n stable
Для последней версии LTS (протестировано на Mac)
sudo n lts
Не могли бы вы сделать это в 2011 году? Почему все остальные ответили внешними решениями? +1 за использование NPM и заслуживает ответа IMO.
Работал для меня на экземпляре AWS EC2 Linux
Если вы пытаетесь установить «n» на Windows, не тратьте свое время. В это время все равно «n» не запускается на windows. Для Windows вы должны либо выполнить обновление из установщиков на nodejs.org, использовать npm `npm install -g node«, использовать chocolaty или установить nvm (сторонний менеджер версий для узла).
Короткий и глупый ответ:
Перейти на эту страницу: Скачать | Node.js
Загрузите установщик для вашей платформы, затем установите его.
вы можете запустить его на Ubuntu / LINUX ??
Не только для Windows, но и для Mac это самый быстрый
ОП не упомянул ничего о платформе, поэтому ответ MSI действителен.
Я изменил ответ, чтобы сказать «Загрузите установщик для вашей платформы». Добро пожаловать 🙂 @AshishRatan На этой странице есть бинарные файлы Linux.
@ADTC nvm — лучшее решение
У меня была такая же проблема, когда я увидел, что моя установка Node.js устарела.
Эти несколько строк будут обрабатывать все (для Ubuntu ):
sudo npm cache clean -f sudo npm install -g n sudo n stable
После этого node -v вам вернут последнюю доступную версию.
Работал безупречно на Mac OS X Yosemite тоже.
после этого node -v все равно возвращается более старый номер версии. Но с помощью whereis node я действительно мог обнаружить, что последняя версия была установлена в /usr/local/bin/node
Работал без каких-либо хлопот на Ubuntu 18.04.
@bvbd версия node которой используется (по умолчанию) в этом случае скорее всего зависит от порядка каталогов в вашем PATH
На CentOS 7 вы можете сделать следующее:
sudo npm cache clean -f sudo npm install -g n sudo n stable sudo ln -sf /usr/local/n/versions/node/5.4.1/bin/node /usr/bin/node node –v (Should show updated version now) npm rebuild node-sass (Optional: if you use this)
Примечание: символическая ссылка необходима для связи вашего двоичного файла узла с последним установленным двоичным файлом Node.js.
работал для меня, важная вещь, которую я пропустил раньше, была символическая связь.
Обратите внимание, что EPEL7 на данный момент имеет последнюю долгосрочную стабильную версию, поэтому эти шаги рекомендуются, только если вы хотите что-то более новое.
узел –v module.js: 473 бросить ошибку; ^ Ошибка: не удается найти модуль ‘/ root / test / –v’
n last / usr / bin / n: строка 263: which: команда не найдена / usr / bin / n: строка 263: which: команда не найдена
@AlexeySh. Это сработало для меня и, по крайней мере, еще 16 человек.
Для OS X у меня был v5.4.1, и мне нужна была последняя версия 6, поэтому я перешел на домашнюю страницу Node.js и нажал на одну из ссылок ниже:

Затем я последовал за установщиком, а затем волшебным образом установил последнюю версию Node.js и npm.
Вы можете использовать NVM.
- Проверьте, какая последняя версия на http://nodejs.org/ (например, v0.10.26)
- Запустить nvm install v0.10.26
Вы можете выбрать, какую версию запустить:
nvm ls перечислите доступные версии и сообщит вам, какую версию вы используете сейчас.
nvm use VERSION изменить текущий узел на запрошенную версию.
nvm alias default VERSION установить версию по умолчанию. В следующий раз, когда вы загрузите nvm.sh, это будет загруженная версия (обратите внимание, что она не меняет используемую версию прямо сейчас, запустите nvm use для этого).
nvm это сторонняя библиотека: P
Это раздражительно. Я использовал его с первого дня и не заметил. Я отредактирую ответ.
nvm alias default VERSION был моим спасителем!
Я также добавил бы, nvm copy-packages
Некоторые дистрибутивы Linux, такие как Arch Linux, имеют Node.js в своих репозиториях пакетов. В таких системах лучше использовать стандартную процедуру обновления пакета, например, pacman -Suy или аналогичные apt-get или yum команды.
На данный момент (ноябрь 2016 года) EPEL7 предлагает довольно свежую версию Node.js (6.9.1, которая является последней версией LTS, предлагаемой на домашней странице Node.js). Так что в CentOS 7 и его производных вы можете просто добавить EPEL-репозиторий с помощью yum install epel-release и yum install nodejs .
CentOS 6 / EPEL6 имеет 0.10.x, который не поддерживается в апстриме с октября 2016 года.
Сегодня я бегал на Windows Git Bash:
$ npm i node -g
и получил следующий вывод:
> node@10.6.0 preinstall C:\Users\X\AppData\Roaming\npm\node_modules\node > node installArchSpecificPackage + node-win-x64@10.6.0 added 1 package and audited 1 package in 23.368s found 0 vulnerabilities C:\Users\X\AppData\Roaming\npm\node -> C:\Users\X\AppData\Roaming\npm\node_modules\node\bin\node + node@10.6.0 added 2 packages from 1 contributor in 26.089s
Вы можете использовать Chocolatey на Windows. Он очень прост в использовании и полезен для того, чтобы держать вас в курсе других приложений.
Кроме того, вы можете просто скачать последнюю версию с https://nodejs.org и установить ее.
Он спросил: «Я сделал следующее, чтобы обновить свой npm:« npm update npm -g »Но я понятия не имею, как обновить node.js. Есть предложения? (Я использую node.js 0.4.1 и хочу обновить до node.js 0.6.1). » и я предложил ему использовать Chocolatey для упрощения процесса, но я также предложил ему скачать последнюю версию с сайта и установить ее, которой более чем достаточно для обновления узла JS, как он и просил. Таким образом, я думаю, что мой ответ обеспечивает удовлетворительное решение для его вопроса.
$ npm install -g npm stable
у меня работало обновить нпм
Это для обновления npm и вопрос для обновления nodejs
- Установите nvm (cURL) $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | удар ИЛИ с Wget $ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | удар
- Показать список установленных версий $ nvm ls
- Показать список версий, доступных для установки $ nvm ls-remote
- Установите предпочитаемую версию $ nvm install v7.5.0
- Установить эту версию по умолчанию псевдоним $ nvm по умолчанию v7.5.0
Простой способ обновить узел и npm:
npm install -g npm@latest
скачайте последнюю версию узла js и обновите / установите
Вы можете удалить @latest часть, это поведение по умолчанию для npm.
Для macOS в 2018+ (поскольку ВСЕ решения, описанные выше, не работают для меня):
Просто зайдите на официальный сайт nodejs , скачайте официальный пакет nodejs и установите его, дважды щелкнув. Это самая простая, безопасная и всегда работающая вещь, которую вы можете сделать.
Согласно Официальной странице Nodejs , вы можете установить и обновить новую версию узла на Windows, используя Chocolatey или Scoop
Используя (шоколадный):
cinst nodejs # or for full install with npm cinst nodejs.install
Используя (Scoop):
scoop install nodejs
Также вы можете скачать установщик Windows прямо с сайта nodejs.org
sudo apt-get install -y curl curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - sudo apt-get install -y nodejs
curl
Ваш комментарий не добавляет ценности к ответу. Вы также можете ошибочно указать свой банковский домен и раскрыть банковские реквизиты на поддельном веб-сайте банка.
Как уже говорили некоторые из вас, самый простой способ — обновить Node.js через менеджер пакетов Node.js, npm . Если вы являетесь пользователем Linux (на основе Debian в моем случае), я бы предложил добавить эти строки в ваш .bashrc файл (в домашнем каталоге):
function nodejsupdate() ARGC=$# version=latest if [ $ARGC != 0 ]; then version=$1 fi sudo npm cache clean -f sudo npm install -g n sudo n $version >
Перезапустите свой терминал после сохранения и напишите nodejsupdate для обновления до последней версии Node.js или nodejsupdate v6.0.0 (например) для обновления до определенной версии Node.js.
БОНУС: Обновите npm (добавьте эти строки в .bashrc )
function npmupdate() sudo npm i npm -g >
После перезапуска терминала напишите, npmupdate чтобы обновить менеджер пакетов вашего узла до последней версии.
Теперь вы можете обновить Node.js и npm через ваш терминал (проще).
Руководство: как сделать простого бота для Телеграм на JS для новичка в программировании
Я начал погружение в мир IT лишь три недели назад. Серьезно, три недели назад я даже не понимал синтаксиса HTML, а знакомство с языками программирования заканчивалось школьной программой по Pascal 10-летней давности. Однако я решился поехать в IT-лагерь, для детей которого было бы неплохо сделать бота. Я решил, что это вряд ли так сложно.
С этого начался длинный путь, в рамках которого я:
- развернул облачный сервер с Ubuntu,
- зарегистрировался на GitHub,
- выучил базовый синтаксис JavaScript,
- прочитал тонну статей на английском и русском языках,
- сделал, наконец, бота,
- написал эту статью, наконец.

Скажу сразу, это статья для начинающих — чтобы просто понять, как делать элементарные вещи с самой нулевой точки.
А еще — для продвинутых программистов — просто чтобы их немного посмешить.
1. Как писать код на JS?
Я понимал, что стоит для начала хотя бы разобраться в синтаксисе языка. Выбор пал на JavaScript, просто потому что следующим шагом для меня было создание приложения на ReactNative. Я начал с курса на Codecademy и остался в большом восторге. Первые 7 дней бесплатно. Реальные проекты. Рекомендую. Прохождение его заняло порядка 25 часов. На самом деле далекоооо не все из него пригодилось. Вот так примерно выглядит структура курса и подробно первый блок.

2. Как зарегистрировать бота?
В начале мне очень помогла вот эта статья из блога некоего Арчакова. Он разжевывает самое начало. Но главное, что там есть — это инструкция по регистрации бота. Лучше я не напишу, и поскольку это самая легкая часть, просто напишу суть. Нужно создать бота и получить его API. Это делается через другого бота — @BotFather. Найдите его в telegram, напишите ему, пройдите простой путь и получите (сохраните!) API-ключ (это набор цифр и букв). Он пригодился мне позже.

3. Как выглядит код бота?
После долгого изучения статей, я понял, что стоит использовать какую-то библиотеку (сторонний код в формате модуля), чтобы не мучаться с изучением API телеграма и созданием с нуля больших кусков кода. Я нашел фреймворк telegraf, который нужно было как-то подключить к чему-то при помощи npm или yarn. Примерно так я понимал тогда, из чего состоит развертывание бота. Смеяться здесь. Я не обижусь. Больше всего при последующем создании бота мне помогли примеры, указанные внизу страницы:

3. Как создать собственный облачный сервер за 100 рублей
После долгих поисков я понял, что команда ‘npm’ из картинки выше относится к командной строке. Командная строка есть везде, но чтобы получилось ее исполнить, нужно поставить NodePackageManager. Проблема была в том, что программировал я на PixelBook с ChromeOS. Я пропущу здесь большой блок про то, как я познавал Linux — для большинства это пустое и ненужное. Если у вас есть Windows или MacBook, у вас уже есть консоль.
Если в двух словах, я поставил Linux через Crostini.
Однако в процессе я понял, что для постоянной работы бота (а не только когда у меня включен компьютер) мне нужен облачный сервер. Я выбрал vscale.io Я закинул 100 рублей, купил самый дешевый сервер Ubuntu (см.картинку).

4. Как подготовить сервер для запуска бота
После этого я понял, что нужно сделать на сервере какую-то папку, в которую я положу файл с текстом кода. Для этого в консоли (запускать прямо на сайте через кнопку «Открыть консоль») я вбил
mkdir bot
bot — это стало название моей папки. После этого я установил npm и Node.js, что позволит запускать мне потом код из файликов с разрешением *.js
sudo apt update sudo apt install nodejs sudo apt install npm
Очень рекомендую на этом этапе настроить подключение к серверу через свою консоль. Вот инструкция Это позволит работать с сервером напрямую через консоль своего компьютера.
5. Как написать код первого бота.
А вот теперь просто открытие для меня. Любая программа — это просто строки текста. Их можно вбить куда угодно, сохранить с нужным расширением и все. Ты прекрасен. Я использовал Atom, но реально, можно просто в блокноте стандартном писать. Главное — сохранить потом файл в нужном расширении. Это как написать текст в Word и сохранить.
Я сделал новый файл, в который вставил код из примера на странице telegraf и сохранил в файл index.js (вообще не обязательно называть файл так, но так принято). Важно — вместо BOT_TOKEN вставьте свой API-ключ из второго пункта.
const Telegraf = require('telegraf') const bot = new Telegraf(process.env.BOT_TOKEN) bot.start((ctx) => ctx.reply('Welcome!')) bot.help((ctx) => ctx.reply('Send me a sticker')) bot.on('sticker', (ctx) => ctx.reply('')) bot.hears('hi', (ctx) => ctx.reply('Hey there')) bot.launch()
6. Как закинуть код на сервер через github
Теперь мне нужно было закинуть как-то этот код на сервер и запустить его. Для меня это стало челленджем. В итоге, после долгих мытарств я понял, что проще будет создать файл на github, который позовляет обновлять код при помощи команды в консоли. Я зарегал аккаунт на github и сделал новый проект, куда и загрузил файл. После этого мне нужно было понять, как же настроить загрузку файлов с моего аккаунта (открытого!) на сервер в папку bot (если вдруг вы вышли из нее — просто напишите cd bot).
7. Как загрузить файлы на сервер через github ч.2
Мне нужно было поставить на сервер программу, которая будет загружать файлы с git. Я поставил git на сервер, вбив в консоль
apt-get install git
После этого мне нужно было настроить загрузку файлов. Для этого я вбил в командную строку
git clone git://github.com/b0tank/bot.git bot
В итоге все из проекта загрузилось на сервер. Ошибкой на данном этапе было, что я, по сути, сделал вторую папку внутри уже существующей папки bot. Адрес до файла выглядел как */bot/bot/index.js
Я решил пренебречь этой проблемой.
И чтобы подгрузить библиотеку telegraf, которую мы запрашиваем в первой строке кода, вбейте в консоль команду.
npm install telegraf
8. Как запустить бота
Для этого, находясь в папке с файлом (чтобы переходить из папки в папку через консоль — выполняйте команду формата cd bot Чтобы убедиться, что вы там, где нужно можно вбить команду, которая отобразит в консоли все файлы и папки, которые там лежат ls -a
Для запуска я ввел в консоль
node index.js
Если нет никакой ошибки — все хорошо, бот работает. Ищите его в телеграме. Если ошибка есть — применяйте свои знания из 1 пункта.
9. Как запустить бота в фоновом режиме
Достаточно быстро вы поймете, что бот работает только тогда, когда вы сами сидите в консоли. Чтобы решить эту проблему я использовал команду
screen
После этого появится экран с каким-то текстом. Это значит, что все хорошо. Вы на виртуальном сервере на облачном сервере. Чтобы понять лучше, как это все работает — вот статья. Просто заходите в свою папку и вбивайте команду по запуску бота
node index.js
10. Как работает бот и как расширить его функционал
Что же умеет наш бот из примера? Он умеет
bot.start((ctx) => ctx.reply('Welcome!'))
говорить «Welcome!» в момент старта (попробуйте поменять текст)
bot.help((ctx) => ctx.reply('Send me a sticker'))
в ответ на стандартную команду /help отправлять сообщение «Send me a sticker»
bot.on('sticker', (ctx) => ctx.reply(''))
в ответ на стикер отправлять одобрение
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
отвечать «Hey there», если ему пишут ‘hi’
bot.launch()

Если вы посмотрите код на github, то быстро поймете, что сильно далеко от этого функционала я не ушел. Что активно используется, так это функция ctx.replyWithPhoto Она позволяет отправлять заданное фото или gif в ответ на определенный текст.
Значимая часть кода была написана детьми 11-13 лет, которым я дал доступ к боту. Они ввели свои user-case. Думаю, легко определить, какая часть сделана была ими.
Например, на сообщение «джейк» приходит гифка с известным персонажем из мультика Adventure Time.

Чтобы развивать бота дальше, подключать клавиатуру нужно смотреть примеры, например, отсюда
11. Как обновлять код и перезапускать бота
Не забывайте, что надо обновлять код не только на github, но и на сервере. Делать это просто — стопим бота (нажать ctrl+c),
— вводим в консоль, находясь в целевой папке, git pull
— вновь запускаем бота командой node index.js
Многие вещи, описанные в этом файле, будут супер очевидны для продвинутых программистов. Однако когда я сам пытался одним махом перепрыгнуть пропасть до мира ботов, мне очень не хватало подобного гайда. Гайда, в котором не пропускается очевидные и простые для любого IT-специалиста вещи.
В дальнейшем я планирую пост про то, как сделать свое первое приложение на ReactNative в таком же стиле, подписывайтесь!
- Занимательные задачки
- JavaScript
- Node.JS
- API
- Облачные сервисы
Шпаргалка по пакетному менеджеру NPM

npm — это пакетный менеджер node.js. С его помощью можно управлять модулями и зависимостями.
Небольшая шпаргалка всех моих любимых команд npm:
- Установка npm
- Обновление npm
- Поиск пакетов в npm
- Просмотр информации о пакете
- Локальная установка пакетов
- Установка пакета в наше приложение
- Понимание разницы между глобальной и локальной установкой
- Глобальная установка пакетов
- Удаление локально установленного пакета
- Удаление глобально установленного пакета
- Установка определённой версии пакета
- Установка модуля с Github
- Связи любых пакетов локально
- Связи локальных пакетов для нескольких приложений
- Отмена связи между пакетами приложения
- Отмена связи пакета в системе
- Создание нового пакета
- Добавление нового пользователя
- Публикация пакета в репозиторий npm
- Удаление пакета из репозитория npm
- Управление правами доступа к пакетам в репозитории npm
Установка npm
curl https://npmjs.org/install.sh | sh
Обновление npm
Есть несколько способов чтобы обновить npm. Я предпочитаю:
curl https://npmjs.org/install.sh | sh
npm install npm -g
Поиск пакетов в npm
npm search hook.io
Подсказка: Можно также использовать search.npmjs.org
Вторая подсказка: Для поиска необходимо знать имя нужного пакета (всё прекрасно ищет по любому слову как в имени пакета, так и в его описании, может неправильно перевёл?)
Просмотр информации о пакете
npm view hook.io
Локальная установка пакетов
Для демонстрации возьмём пакет http-server.
http-server is a package we’ve written which provides an easy to use wrapper around node’s core http.Server class. This module makes for a good example, since it’s API provides both a CLI binary and a requirable node.js module.
http-server — пакет, который мы написали, предоставляет более простой интерфейс в использовании базового модуля http.Server из node.js. Этот модуль хороший пример использования API как для бинарного CLI, так и для подключаемого модуля node.js.
npm install http-server
Так мы установим http-server в нашей рабочей директории.
Вы увидите новую папку в node_modules. Сейчас можете не обращать на это внимание.
Установка пакета в наше приложение
mkdir mynewapp/ cd mynewapp npm install http-server touch test.js
test.js
var HTTPServer = require('http-server'); var httpServer = new HTTPServer(< root: './public' >); httpServer.start();
запустим скрипт
node test.js
Обратите внимание, как мы делаем: require(‘http-server’)? Что это за магия? (автор молодец)
http-server не является базовым модулем node.js. Этот пакет мы только что установили из npm. Node.js и npm взаимодействуют и автоматически подключают наши локальные модули из node_modules директории.
Понимание разницы между глобальной и локальной установкой
По умолчанию npm будет устанавливать все пакеты в локальном каталоге, в которым вы сейчас работаете. Это правильно. Это может показаться немного запутанным, если вы раньше работали с предыдущими системами управления пакетами.
Например:
mkdir anotherapp/ cd anotherapp/ touch test.js
test.js
var HTTPServer = require('http-server');
теперь запустим наш скрипт
node test.js
мы получим эту ошибку:
node.js:134 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'http-server' at Function._resolveFilename (module.js:326:11) at Function._load (module.js:271:25) at require (module.js:355:19) at Object. (/Users/maraksquires/dev/nodeapps/anotherapp/test.js:1:80) at Module._compile (module.js:411:26) at Object..js (module.js:417:10) at Module.load (module.js:343:31) at Function._load (module.js:302:12) at Array. (module.js:430:10) at EventEmitter._tickCallback (node.js:126:26)
Это вполне логично, мы установили http-server локально в «/mynewapp/», а не в «/anotherapp/».
Есть два решения в этой ситуации:
а) Установить ещё раз пакет, но локально в наше новое приложение
cd anotherapp/ npm install http-server
б) Установить пакет глобально
npm install http-server -g
Глобальная установка пакетов
Если вы хотите чтобы пакет был доступен всем приложениям, его нужно установить глобально:
npm install http-server -g
Флаг -g означает, что http-server должен быть установлен глобально и быть доступными для всех приложений.
Теперь мы можем вызывать его require(‘http-server’) в любом нашем приложении.
Кроме того, поскольку http-server пакет имеет свой исполняемый файл, то этот файл также будет установлен как исполняемый http-server и доступен в командах.
Теперь вы можете просто запустить команду:
http-server
Удаление локально установленного пакета
npm uninstall http-server
Удаление глобально установленного пакета
npm uninstall http-server -g
Установка определённой версии пакета
npm install http-server@0.3.0
Установка модуля с Github
Важно. В некоторых случаях будут патчи, форки или ветви, которые вы хотите использовать, но которые еще не были опубликованы в npm. К счастью исходные коды для большинства npm модулей также доступна на www.github.com
git clone git://github.com/nodeapps/http-server.git cd http-server/ npm link
Теперь наша клонированная версия http-server связана локально.
Связи любых пакетов локально
Если у вас есть отдельный каталог содержащий пакет npm, то можно создать локальную связь для него. Это удобно в ситуациях, когда мы не хотим опубликовать наш пакет в хранилище npm.
cd http-server/ npm link
На нашу локальную версию http-server создана «связана» для нашей локальной машины. (связь создаётся как «copy-paste», с начало нужно перейти в нужный катало и сделать «copy», потом перейти в нужный каталог и сделать «paste». Так вот сейчас мы изучили как делается «copy», а ниже будет про «paste» этого модуля)
Связи локальных пакетов для нескольких приложений
Как мы видели ранее npm устанавливает пакеты в локальный каталог по умолчанию. Так вот npm ссылка(связь) работает почти так же.
mkdir newapp/ cd newapp/ npm link http-server
Мы указываем, что теперь создали связь из http-server в наше новое приложение newapp. Если бы мы не выполнили npm link http-server, то получили бы ошибку об отсутствующем модуле. (а вот наш и «paste» о чём я писал выше, теперь вам должна быть понятна логика создания связей)
Отмена связи между пакетами приложения
cd newapp/ npm unlink http-server
(здесь мы просто отменяем наш «paste» для этого приложения)
Отмена связи пакета в системе
cd http-server/ npm unlink
(здесь мы отменяем наш «copy» для этого пакета)
Создание нового пакета
mkdir mypackage/ cd mypackage/ npm init
(от себя хочу лишь заметить, что создание пакета не такая простая задача в одну команду, подробнее можно почитать в другой статье)
Добавление нового пользователя
npm adduser
Публикация пакета в репозиторий npm
cd mypackage/ npm publish
Удаление пакета из репозитория npm
npm unpublish http-server
Управление правами доступа к пакетам в репозитории npm
Вы можете задать права доступа других пользователей к опубликованному пакету:
npm owner add marak http-server npm owner rm marak http-server npm owner ls http-server
За дополнительной информацией о формате package.json и обо всех тонкостях работы с npm вы можете ознакомится в статье Charlie Robbin’s: blog.nodejitsu.com/package-dependencies-done-right
Npm проверить и обновить пакет, если это необходимо
Express — самый популярный веб-фреймворк для Node. Он является базовой библиотекой для ряда других популярных веб-фреймворков Node. Он предоставляет следующие механизмы:
- Написание обработчиков для запросов с различными HTTP-методами в разных URL-адресах (маршрутах).
- Интеграцию с механизмами рендеринга «view», для генерации ответов, вставляя данные в шаблоны.
- Установка общих параметров веб-приложения, такие как порт для подключения, и расположение шаблонов, которые используются для отображения ответа.
- «промежуточное ПО» для дополнительной обработки запроса в любой момент в конвейере обработки запросов.
В то время как сам express довольно минималистичный, разработчики создали совместимые пакеты промежуточного программного обеспечения для решения практически любой проблемы с веб-разработкой. Существуют библиотеки для работы с куки-файлами, сеансами, входами пользователей, параметрами URL, данными POST, заголовками безопасности и многими другими. Вы можете найти список пакетов промежуточного программного обеспечения, поддерживаемых командой Express в Express Middleware (наряду со списком некоторых популярных пакетов сторонних производителей) .
Примечание: Гибкость это палка о двух концах. Существуют пакеты промежуточного программного обеспечения (middleware) для решения практически любых проблем или для удовлетворения любых ваших требований, но правильный выбор подходящих пакетов иногда может быть проблемой. Также нет «правильного пути» для структурирования приложения, и многие примеры, которые вы можете найти в Интернете, не являются оптимальными или лишь показывают небольшую часть того, что вам нужно сделать для разработки веб-приложения.
Шаг 1. Проверьте наличие доступных обновлений
Перед обновлением вашей системы всегда полезно поискать доступные обновления. Вы можете пропустить этот шаг и сразу перейти к обновлению всех пакетов. Однако эта команда может быть полезна, если вы на самом деле не хотите обновлять все пакеты. Выполнив этот шаг, вы сможете составить список всех пакетов, для которых доступны обновления, чтобы вы могли выбрать из этого списка только те пакеты, которые вы хотите обновить. В разделе «Бонусный совет» этой статьи мы также покажем вам, как обновить только один пакет в Oracle Linux 8.
Чтобы проверить наличие всех доступных обновлений в вашей системе Oracle Linux 8, введите следующую команду:
$ sudo yum check-update
После выполнения указанной выше команды подождите несколько секунд, а затем вы увидите список всех пакетов, установленных в вашей системе, для которых доступны обновления.
Обновление на Windows
По умолчанию npm устанавливается рядом с узлом в
глобально установленные пакеты npm (включая, возможно, сам npm) хранятся отдельно в каталоге, определяемом пользователем (который в настоящее время
Because the installer puts
Чтобы обойти это, вы можете сделать одно из следующих действий:
- Вариант 1: отредактируйте вашей установки Windows, чтобы поставить перед .
Помните, что вам нужно будет перезапустить (и, возможно, перезапустить Windows) при внесении изменений в или способ установки npm. - Вариант 2: удалите оба
- Вариант 3: Перейдите к и скопируйте файл в другую папку или на рабочий стол.
Затем откройте и выполните следующие команды:
Если вы установили npm с помощью установщика node.js, после выполнения одного из предыдущих шагов выполните следующие действия.
- Вариант 1 или 2 Перейдите в %ProgramFiles%\nodejs\node_modules\npm и скопируйте файл с именем npmrc в новую папку npm, которая должна быть %appdata%\npm\node_modules\npm . Это сообщит новому npm, где находятся глобальные установленные пакеты.
- Вариант 3 Скопируйте файл npmrc обратно в %ProgramFiles%\nodejs\node_modules\npm
Краткое примечание о встроенной конфигурации Windows
Установщик узла устанавливает непосредственно в папку npm специальную часть конфигурации Windows, которая указывает npm, где устанавливать глобальные пакеты. Когда npm используется для установки самого себя, предполагается, что он скопирует эту специальную конфигурацию в новую установку. В некоторых версиях npm была ошибка, из-за которой это не работало, поэтому вам, возможно, придется пойти и исправить это вручную. Выполните следующую команду, чтобы увидеть, где npm установит глобальные пакеты, чтобы убедиться, что это правильно.
Если он не установлен в , вы можете выполнить приведенную ниже команду, чтобы исправить его:
Кстати, если вы предпочитаете, чтобы пакеты не устанавливались в ваш перемещаемый профиль (поскольку у вас есть квота в общей сети или это затрудняет вход или выход из домена), вы можете вместо этого поместить его в данные локального приложения:
…а также копирование в (и обновление вашего , конечно).
Все, кто работает над npm, знают, что этот процесс сложен и чреват, и мы работаем над его упрощением. Оставайтесь с нами.
Установка Visual Studio Code
Для разработки с помощью Node.js в Windows рекомендуем установить Visual Studio Code, а также пакет расширений Node.js. Установите их все или выберите наиболее полезные для вас.
Чтобы установить пакет расширений Node.js, сделайте следующее:
- Откройте в VS Code окно Расширения (нажав клавиши CTRL+SHIFT+X).
- В поле поиска в верхней части окна расширений введите: Node Extension Pack (Пакет расширений Node) (или имя любого расширения, которое необходимо найти).
- Выберите пункт Установить. После установки расширение появится в папке «Включено» в окне Расширения. Вы можете отключить, удалить или настроить параметры, выбрав значок шестеренки рядом с описанием вашего нового расширения.
К дополнительным рекомендуемым расширениям относятся следующие:
- Отладчик для Chrome — после завершения разработки на стороне сервера с помощью Node.js вам нужно будет выполнить разработку и тестирование на стороне клиента. Это расширение интегрирует редактор VS Code со службой отладки браузера Chrome, что увеличивает эффективность выполнения операций.
- Раскладки клавиатуры других редакторов — эти расширения позволят использовать необходимую раскладку при переходе в другой текстовый редактор (например, Atom, Sublime, Vim, eMacs, Notepad++ и т. п.).
- Расширение синхронизации параметров — позволяет синхронизировать параметры VS Code в разных установках, используя GitHub. Если вы работаете на разных компьютерах, это обеспечит согласованность среды между ними.
Альтернативные редакторы кода
Если вы предпочитаете использовать редактор кода или интегрированную среду разработки, отличные от Visual Studio Code, для среды разработки Node.js также подходят следующие варианты:
- Sublime Text
- Atom
- Brackets
- Notepad++
Способ 1: обновить Ubuntu через терминал
На рабочем столе откройте терминал. Вы можете найти его в меню приложений или вызвать зажатием комбинации клавиш Ctrl+Alt+T. Если вы вошли на сервер Ubuntu, у вас уже есть доступ к терминалу.
В терминале вам нужно ввести следующую команду:
Примечание: все действия по осуществляются копирования или вставки команд в терминале выполняются при помощи зажатия дополнительной клавиши . Таким образом, для того чтобы скопировать что либо в терминале, вам необходимо использовать сочетание клавиш , а для того чтобы вставить какую либо команду в терминал, необходимо зажать сочетание клавиш .
Для подтверждения, необходимо будет ввести пароль, он тот же, что и вашей учётной записи. Во время набора пароля, из соображений безопасности, на экране вы ничего не увидите, поэтому продолжайте вводить пароль и нажмите ввод – Enter. Это обновит пакеты в Ubuntu.
Теперь позвольте мне объяснить вышеупомянутую команду.
На самом деле, это не одна команда. Это комбинация из двух команд. – это способ объединить две команды так, чтобы вторая команда выполнялась только тогда, когда предыдущая команда была выполнена успешно.
в конце автоматически вводит , когда команда запрашивает подтверждение перед установкой обновлений.
Обратите внимание, что вы также можете использовать две команды отдельно, одну за другой:
Это займет немного больше времени, потому что вам нужно дождаться завершения одной команды и затем ввести вторую команду.
Объяснение: sudo apt update

Эта команда обновляет локальную базу данных доступных пакетов. Если вы не запустите эту команду, локальная база данных не будет обновлена, и ваша система не будет знать, есть ли какие-либо новые доступные версии.
Вот почему, когда вы запустите , вы увидите много URL в выходных данных. Команда извлекает информацию о пакете из соответствующих репозиториев (URL-адреса, которые вы видите в выходных данных).
В конце команды сообщается, сколько пакетов можно обновить. Вы можете увидеть эти пакеты, выполнив следующую команду:
Объяснение: sudo apt upgrade

Эта команда сопоставляет версии установленных пакетов с локальной базой данных. Она собирает их все, а затем перечисляет все пакеты, для которых доступна более новая версия. На этом этапе она спросит, хотите ли вы обновить установленные пакеты до более новой версии.
Вы можете ввести , или просто нажать клавишу ввода, чтобы подтвердить установку обновлений.
Итак, суть в том, что проверяет наличие новых версий, в то время как фактически выполняет обновление.
Термин может сбивать с толку, так как вы можете ожидать, что команда обновит систему путем установки обновлений, но этого не происходит.
Usage
Show all new dependencies (excluding peerDependencies) for the project in the current directory:
$ ncu Checking package.json 5/5 100% express 4.12.x → 4.13.x multer ^0.1.8 → ^1.0.1 react-bootstrap ^0.22.6 → ^0.24.0 react-a11y ^0.1.1 → ^0.2.6 webpack ~1.9.10 → ~1.10.5 Run ncu -u to upgrade package.json
Upgrade a project’s package file:
$ ncu -u Upgrading package.json 1/1 100% express 4.12.x → 4.13.x Run npm install to install new versions. $ npm install # update installed packages and package-lock.json
Check global packages:
ncu -g
Filter packages using the option or adding additional cli arguments. You can exclude specific packages with the option or prefixing a filter with . Supports strings, wildcards, globs, comma-or-space-delimited lists, and regular expressions:

# upgrade only mocha ncu mocha ncu -f mocha ncu --filter mocha # upgrade packages that start with "react-" ncu react-* ncu "/^react-.*$/" # upgrade everything except nodemon ncu \!nodemon ncu -x nodemon ncu --reject nodemon # upgrade only chalk, mocha, and react ncu chalk mocha react ncu chalk, mocha, react ncu -f "chalk mocha react" # upgrade packages that do not start with "react-". ncu \!react-* ncu '/^(?!react-).*$/' # mac/linux ncu "/^(?!react-).*$/" # windows
Попробуйте последнюю стабильную версию npm
Обновление на * nix (OSX, Linux и т.д.)
(Вам может понадобиться добавить к этим командам префикс , особенно в Linux или OS X, если вы установили Node с помощью установщика по умолчанию.)
Вы можете обновить до последней версии npm, используя:
Или обновите до последней версии:
Обновление на Windows
По умолчанию npm устанавливается рядом с узлом в
глобально установленные пакеты npm (включая, возможно, сам npm) хранятся отдельно в пользовательском каталоге (который в настоящее время
Потому что установщик ставит
Чтобы обойти это, вы можете сделать one из следующего:
- Вариант 1: отредактируйте вашей установки Windows , чтобы поставить перед . Помните, что вам нужно будет перезапустить (и, возможно, перезапустить Windows), когда вы вносите изменения в или как установлен npm.
- Вариант 2: удалить оба
- Вариант 3. Перейдите к и скопируйте файл в другую папку или на рабочий стол . Затем откройте и выполните следующие команды:
Если вы установили npm с помощью установщика node.js, после выполнения одного из предыдущих шагов выполните следующее.
- Вариант 1 или 2 Перейдите в %ProgramFiles%\nodejs\node_modules\npm и скопируйте файл с именем npmrc в новую папку npm, которая должна быть %appdata%\npm\node_modules\npm. Это сообщит новому npm, где находятся глобальные установленные пакеты.
- Вариант 3 Скопируйте файл npmrc обратно в %ProgramFiles%\nodejs\node_modules\npm
Краткое примечание о встроенной конфигурации Windows
Установщик Node устанавливает непосредственно в папку npm специальную часть конфигурации, специфичной для Windows, которая сообщает npm, куда устанавливать глобальные пакеты. Когда для установки используется npm, он должен скопировать эту специальную конфигурацию в новую установку. В некоторых версиях npm была ошибка, из-за которой она не работала, поэтому вам может понадобиться исправить ее вручную. Выполните следующую команду, чтобы увидеть, где npm установит глобальные пакеты, чтобы убедиться, что это правильно.
Если он не установлен в , вы можете выполнить приведенную ниже команду, чтобы исправить это:
Кстати, если вы предпочитаете, чтобы пакеты не устанавливались в вашем роуминговом профиле (потому что у вас есть квота в общей сети, или это делает вход или выход из домена медленным), вы можете вместо этого поместить его в данные локального приложения:
… а также копирование в (и, конечно, обновление вашего ).
Каждый, кто работает на npm, знает, что этот процесс сложен и чреват, и мы работаем над тем, чтобы сделать его проще. Оставайтесь в курсе.
Обновление на Windows 10 с помощью PowerShell (стороннее редактирование)
Ссылка выше Troubleshooting # upgrade-on-windows указывает на страницу github npm-windows-upgrade, строки ниже — это цитаты из файла readme. Я успешно обновился с npm 2.7.4 до npm 3.9.3, используя node v5.7.0 и powershell (предположительно, powershell версии 5.0.10586.122)
- или просто запустите: npm install -g npm
- 1 Нет, Гал, вы запутали проблему, запуск npm install -g npm не работает в Windows, читали ли вы о проблемах пользователей Windows (перечисленных выше?). Используйте метод Powershell, как показано в ответе Surf. Спасибо smurf, наконец-то удалось обновить yeeehaaaa!
Затем обновите к следующей версии,
проверьте после установки версии,
ПРОСТО ИСПОЛЬЗУЙТЕ ЭТО
Это то, что мне подсказывают на моей консоли от npm, когда выпускаются новые обновления / исправления:
1 после того, как я запустил это, мне пришлось выйти из терминала bash и перезапустить, чтобы увидеть изменения. Поскольку path к npm изменился в процессе обновления, и по какой-то причине он продолжал выполнять старую версию, которая, конечно, показывала старую версию, когда вы выполняли npm -v
- Чтобы узел обновления используйте nvm (или nvmw для окон).
- Чтобы обновить npm, то команда не работала для меня (в Windows). Что действительно помогло, так это переустановка npm в соответствии с документацией: «Вы можете загрузить zip-файл с https://npmjs.org/dist/ и распаковать его в той же папке, где находится node.exe.»Убедитесь, что если вы сделаете это, то сначала избавитесь от предыдущей установки (хотя перезапись, вероятно, будет работать нормально …).
- Чтобы обновите свои модули, используйте команду обновления npm
- работал у меня. Я запускаю OSx и установил узел через homebrew, однако не будет работать, если у вас уже работает последняя версия узла, как это сделал я. Кусок торта.
- работал у меня в Windows8 stackoverflow.com/a/29023180/588759
- @rofrol Я пробовал эту команду, у меня она не сработала на Win 8.1. все еще была старая версия хотя моя предыдущая версия была . Мне нужно было обновить по крайней мере для Angular. Теперь я не могу избавиться от старой версии.
Использование файла «package.json»
Лучший способ управления локально установленными пакетами — это использование файла «package.json», который должен иметь как минимум
name и
version.
Поле
name должно состоять из строчных букв английского алфавита, подчёркиваний и тире. Оно определяет имя вашего модуля.
Поле
version определяет версию в формате x.x.x.
Создать «package.json» можно командой с консоли:
| 1 | npm init |
Эта команда проведёт вас через процесс создания «package.json» в стиле вопрос-ответ.
Установка определённой версии пакета
Установим ещё один пакет и поговорим о его возможных версиях
$ npm install normalize.css
Если package.json не содержит записи о normalize.css то будет установлена последняя стабильная версия.
Если в package.json указана версия, будет установлена она.
Если Вы хотите установить какую-то определённую версию, укажите её в package.json либо
введите @номер_версии при установке.
Например npm install normalize.css@8.0.1
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
+ [email protected]
added 1 package and audited 2 packages in 0.523s
found 0 vulnerabilities
Посмотрим содержимое файла package.json и заодно узнаем какие версии пакетов установлены
Идея версионирования: патчи, минорные и мажорные версии
Идея использования трёх чисел, разделённых точками, в качестве версии состоит в следующем (например, если текущий пакет 1.0.0):
- Патчи или исправления ошибок и незначительные изменения увеличивают последнее число (1.0.1).
- Минорные версии. Новые возможности, которые не ломают старый код увеличивают второе число (1.1.0).
- Мажорные версии. Изменения, ломающие совместимость со старым кодом увеличивают самое первое число (2.0.0).
При указании необходимой версии зависимости в «package.json» можно указывать диапазоны:
- 1.0, 1.0.x или ~1.0.4 будет использовать последнюю версию патча с исправлениями ошибок (для третьего варианта начиная с версии 1.0.4).
- 1, 1.x или ^1.0.4 будет использовать последнюю минорную версию.
- * или x всегда будет использовать последнюю версию.
Начало работы
Логично начать с создания директории для нового проекта.
Я буду работать над сайтом HeiHei.ru
поэтому назову папку heihei
Перейдём в созданную директорию
Убедимся, что в новой папке пусто
Теперь выполним важнейшую для будущей разработки команду
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (my-project)

npm предложит заполнить информацию о проекте. Появятся следующие поля:
name: (heihei)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
Можно заполнить все поля, но для простоты пока просто нажмем несколько раз подряд Enter
Если предварительно привязать директорию к удалённому репозиторию
GIT
то npm при инициализации это увидит и сам заполнит пункт git repository.
Возможно, это и есть самый простой и правильный путь, если Вы планируете работать дальше с GIT.
В конце должно появиться подобное сообщение. Нажимаем Enter ещё раз.
About to write to C:\Users\ao\Desktop\Sites\heihei\package.json:
«name»: «heihei»,
«version»: «1.0.0»,
«description»: «»,
«main»: «index.js»,
«scripts»: «test»: «echo \»Error: no test specified\» && exit 1″
>,
«author»: «»,
«license»: «ISC»
>
Is this OK? (yes)
Проверим, что появилось в нашей папке после инициализации
package.json
это файл, который будет хранить в себе список установленных пакетов и их версии.
Сразу после инициализации он содержит только информацию о проекте
похожие задачи решают
Doctor Mode
Iteratively installs upgrades and runs tests to identify breaking upgrades. Add to execute (modifies your package file, lock file, and node_modules).
To be more precise:
- Runs and to ensure tests are currently passing.
- Runs to optimistically upgrade all dependencies.
- If tests pass, hurray!
- If tests fail, restores package file and lock file.
- For each dependency, install upgrade and run tests.
- When the breaking upgrade is found, saves partially upgraded package.json (not including the breaking upgrade) and exits.
$ ncu --doctor -u npm install npm run test ncu -u npm install npm run test Failing tests found: /projects/myproject/test.js:13 throw new Error('Test failed!') ^ Now let's identify the culprit, shall we? Restoring package.json Restoring package-lock.json npm install npm install --no-save [email protected] npm run test ✓ react 15.0.0 → 16.0.0 npm install --no-save [email protected] npm run test ✗ react-redux 6.0.0 → 7.0.0 Saving partially upgraded package.json
Conclusion
Node.js has become popular for creating interactive websites and web-based applications. It comes with npm (Node Package Manager) that helps manage the packages, modules, and dependencies of Node.js. You must use the latest stable NPM version for your products to experience the latest functionalities. Also, you know after reading this blog how to update NPM packages and how to update NPM version on any system, Windows, and Linux. You do not have to worry about installing npm explicitly as it comes with the Node.js installation.
In the above article, we have mentioned some commands that will help you to update the existing npm to the latest stable NPM version.
People are also reading:
- What is Node.js?
- How to Update Node.js
- How to Check Node.js Version
Бонусный совет
В качестве бонусного совета мы поделимся очень быстрой командой, которая позволяет вам обновить только один пакет в вашей системе Oracle Linux 8. Эта команда может оказаться чрезвычайно полезной в ситуациях, когда вы не хотите обновлять все установленные пакеты в вашей системе. Его использование сэкономит ваше драгоценное время и ресурсы вашей системы. Чтобы обновить один пакет в вашей системе Oracle Linux 8, выполните следующую команду:
$ yum update PackageName
Здесь замените термин «PackageName» на имя конкретного пакета, который вы хотите обновить. Если при выполнении этой команды появляются сообщения об ошибках, вы можете попробовать ее с ключевым словом «sudo». Выполнение этой команды обновит только один указанный пакет.
n (macOS, Linux)
n , скорее всего, относится к rvm (менеджер версий Ruby) и используется для одновременного управления версиями node.js и npm . Он написан на чистом Linux shell и доступен в виде модуля npm . Таким образом, если у вас уже установлена какая — либо версия node.js, вы можете установить/обновить пакет n через :
Загрузка, установка и переключение на версии node.js и npm так же просты, как:
Чтобы загрузить, установить и переключиться на последнюю официальную версию, используйте:
Чтобы загрузить, установить и переключиться на последнюю стабильную официальную версию, используйте:
Чтобы переключиться на ранее активную версию (она же ), используйте:
Если вы хотите увидеть список установленных версий node.js, просто запустите из командной строки. Результат будет примерно следующим:
Где точка (•) означает, что это текущая активная версия. Чтобы выбрать другую версию node.js из списка, используйте клавиши со стрелками / и активируйте с помощью клавиши .
Чтобы перечислить версии, доступные для установки:
Как обновить Node JS через консоль?
просто запустите командную строку npm install -g npm или sudo npm install -g npm обновите ее для пользователя Mac. Вот и все.
Как обновить Nodejs Windows?
- Очистить кэш npm : npm cache clean -f.
- Установить менеджер версий NodeJS: n : npm install -g n.
- Установить версию ноды: Стабильная версия: n stable. Последняя версия: n latest. Установка определённой версии: n 0.8.14.
Как обновить версию Node JS Mac?
- sudo npm cache clean -f (принудительно) очистить кэш npm.
- sudo npm install -g n установите n (это может занять некоторое время)
- sudo n stable обновление до текущей стабильной версии
Как обновить версию Nodejs?
- Нужно очистить NPM кеш: sudo npm cache clean -f.
- Установить интерактивный менеджер n. sudo npm install -g n. Эта библиотека позволяет управлять версиями node.js.
- Теперь можно установить последнюю версию node.js:
Как обновить версию NPM Windows?
- перейти к Windows > Start > Node.js. щелкните правой кнопкой мыши на Node.js command prompt. нажмите на Run as administrator.
- ping registry.npmjs.org.
- npm view npm version.
- cd %ProgramFiles%\nodejs.
- npm install npm@latest.
Как узнать какая версия Node JS установлена?
- 204. Откройте окно terminal. .
- откройте terminal и введите node -v. это сообщит вам версию установленного nodejs, а затем запустите nodejs простым вводом node. .
- Ctrl + R — чтобы открыть командную строку , а затем записать: node -v.
- Откройте командную строку в Windows или terminal в Linux и Mac.Type node -v.
Как установить Nvm на Windows?
Установка nvm
Для этого вам придётся перейти в репозиторий nvm—windows и загрузить установочный пакет. Далее процедура полностью стандартна, как и для любого другого установочного файла в Windows: выбираете директорию установки и несколько раз кликаете на «Далее».
Как удалить Node JS Windows?
Перейдите в меню Пуск>Панель управления>Программы. Найдите среди установленных программ Node. js, выберите ее и нажмите кнопку Удалить.
Публикация пакета npm
Для начала вам нужно создать пользователя в репозитории npm:
| 1 | npm adduser |
Если же у вас уже есть пользователь, созданный на сайте, то можете сохранить его логин и пароль:
| 1 | npm login |
Для публикации пакета используйте команду:
| 1 | npm publish |
Имейте в виду, что опубликовано будет всё, что не добавлено в игнорируемые в «.gitignore» или «.npmignore».
Перейдите на
https://npmjs.com/package/. Вы должны увидеть информацию о вашем пакете.
Для обновления версии используйте одну из команд:
npm update patch
| 1 | npm update patch |
npm update minor
| 1 | npm update minor |
npm update major
| 1 | npm update major |
А затем опубликуйте его снова:
| 1 | npm publish |
Способ 2: обновить Ubuntu через графический интерфейс [для пользователей настольных компьютеров]
Если вы используете Ubuntu в качестве рабочего стола, вам не нужно заходить в терминал только для обновления системы. Вы все еще можете использовать командную строку, но это не обязательно для вас.
В меню приложений найдите «Software Updater» (рус. Обновление приложений) и запустите его. Учтите, значок приложения может быть иным, ориентируйтесь лиши на название.

Он проверит наличие обновлений для вашей системы.

Если есть доступные обновления, это даст вам возможность установить обновления.

Нажмите «Установить сейчас», он может запросить ваш пароль.

Как только вы введете свой пароль, он начнет устанавливать обновления.

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


Вы можете перезагрузить компьютер позже, если не хотите делать этого сейчас. При этом, работу можно будет продолжить без каких либо потерь.
Совет: если программа обновления программного обеспечения выдаёт ошибку, вы должны использовать команду в терминале. Последние несколько строк вывода будут содержать фактическое сообщение об ошибке. Вы можете найти эту ошибку в интернете и устранить проблему.
Обновление на Windows
По умолчанию npm устанавливается рядом с узлом в
Глобально установленные пакеты npm (включая, возможно, и сам npm) хранятся отдельно в пользовательском каталоге (который в настоящее время
Because the installer puts
Чтобы обойти это, вы можете сделать одно из следующих действий:
- Вариант 1: отредактируйте вашей установки Windows, чтобы поставить перед .
Помните, что вам нужно будет перезапустить (и потенциально перезапустить Windows), когда вы вносите изменения в или как установлен npm. - Вариант 2: Удалите оба из них.
- Вариант 3: перейдите к и скопируйте файл в другую папку или на рабочий стол.
Затем откройте и выполните следующие команды:
Если вы установили npm с помощью установщика node.js, то после выполнения одного из предыдущих шагов выполните следующие действия.
- Вариант 1 или 2 Зайдите в %ProgramFiles%\nodejs\node_modules\npm и скопируйте файл с именем npmrc в новую папку npm, которая должна быть %appdata%\npm\node_modules\npm . Это сообщит новому npm, где находятся глобальные установленные пакеты.
- Вариант 3 Скопируйте файл npmrc обратно в %ProgramFiles%\nodejs\node_modules\npm
Краткое примечание о встроенной конфигурации Windows
Установщик узла устанавливает непосредственно в папку npm специальную часть конфигурации Windows, которая сообщает npm, где устанавливать глобальные пакеты. Когда npm используется для установки самого себя, предполагается скопировать эту специальную конфигурацию в новую установку. В некоторых версиях npm была ошибка, которая мешала этому работать, так что вам, возможно, придется пойти и исправить это вручную. Выполните следующую команду, чтобы увидеть, где npm установит глобальные пакеты, чтобы убедиться, что это правильно.
Если он не имеет значения , вы можете выполнить приведенную ниже команду, чтобы исправить его:
Кстати, если вы предпочитаете, чтобы пакеты не устанавливались в ваш перемещаемый профиль (потому что у вас есть квота в общей сети или это делает вход или выход из домена медленным), вы можете поместить его в свои локальные данные приложения вместо этого:
..а также копирование в (и обновление вашего , конечно).
Каждый, кто работает над npm, знает, что этот процесс сложен и чреват, и мы работаем над тем, чтобы сделать его проще. Оставайтесь с нами.
Заключение
В этой статье было показано, как без проблем обновить все пакеты, установленные в вашей системе Oracle Linux 8. Важно помнить, что время, необходимое для обновления вашей системы, прямо пропорционально количеству пакетов, установленных в этой системе. Чем больше пакетов вы установили в вашей системе, тем больше времени потребуется на обновление вашей системы. Если вы запускаете команду «update» впервые в своей системе Oracle Linux 8, независимо от количества установленных пакетов, это, естественно, займет больше времени; в нашем случае на полное обновление всех пакетов ушло около 15 минут
