номер версии
При загрузке и публикации кода с использованием NPM вам будет предоставлен номер версии. NPM использует семантические номера версий для управления кодом. Вот краткое введение.
Семантический номер версии делится на три цифры X.Y.Z, которые соответственно представляют основной номер версии, дополнительный номер версии и номер версии патча. Когда код изменяется, номер версии обновляется в соответствии со следующими принципами.
- Если вы просто исправите ошибку, вам нужно обновить бит Z.
- Если функция добавлена недавно, но она обратно совместима, бит Y необходимо обновить.
- Если есть большое изменение, оно несовместимо внизу, и бит X необходимо обновить.
С этой гарантией для номера версии при объявлении сторонних зависимостей пакетов, в дополнение к фиксированному номеру версии, вы также можете полагаться на диапазон номеров версий. Например, «argv»: «0.0.x» означает зависимость от последней версии argv в серии 0.0.x.
NPM поддерживает все методы обозначения диапазона номеров версий.。
Sass в CSS
NPM скрипты состоят из ключа (имя скрипта, которое мы вводим в терминал для запуска) и значения — самого скрипта, который будет выполняться при запуске команды. Сначала мы напишем скрипт, который компилирует Sass в CSS. Мы дадим ему название (мы можем назвать его как угодно) и добавим в раздел :
Пакет содержит опции и некоторые из них мы указываем в команде скрипта. Мы определяем стиль вывода , выходной каталог и каталог с исходниками , который в настоящее время пуст. Создадим исходный файл из терминала:
Добавьте несколько стилей во вновь созданный файл, затем вернитесь в терминал и запустите выполните:
После этого вы должны увидеть новую директорию под названием , содержащую ваш скомпилированный CSS. Теперь, каждый раз, когда вы вносите изменения в свой файл , вы можете запускать скрипт, и эти изменения будут компилироваться.
2: Создание простого проекта Express с помощью nodemon
Утилиту nodemon можно использовать для запуска скрипта Node. Например, если в файле server.js у вас есть конфигурация сервера Express, мы можем запустить его и проследить за изменениями с помощью команды:
Вы можете передавать команде аргументы (они передаются так же, как скриптам, запущенным с помощью Node):
Каждый раз, когда вы вносите изменения в файл с одним из наблюдаемых по умолчанию расширений (это файлы .js, .mjs, .json, .coffee и .litcoffee) в текущем каталоге или подкаталоге, процесс перезапускается.
Предположим, мы записываем тестовый файл server.js, который выводит такое сообщение:
Мы можем запустить его с помощью утилиты nodemon:
И мы увидим следующий вывод в терминале:
Пока nodemon работает, давайте внесем изменения в файл server.js. Для примера попробуйте отредактировать сообщение:
Мы получим дополнительный вывод:
Вывод приложения Node.js отображается должным образом. Вы можете перезапустить процесс в любое время, набрав rs и нажав Enter.
Также nodemon будет искать файл main, указанный в файле package.json вашего проекта:
Или скрипт start:
После внесения изменений в package.json вы можете вызвать nodemon, чтобы запустить пример приложения в режиме просмотра без необходимости передавать server.js.
Семантическое версионирование¶
При определении версии пакета применяется семантическое версионирование. Номер версии, как правило, задается в следующем формате . Если в приложении или пакете обнаружен какой-то баг и он исправляется, то увеличивается на единицу число . Если в пакет добавляется какая-то новая функциональность, которая совместима с предыдущей версией пакета, то это небольшое изменение, и увеличивается число . Если же в пакет вносятся какие-то большие изменения, которые несовместимы с предыдущей версией, то увеличивается число . То есть глядя на разные версии пакетов, мы можем предположить, насколько велики в них различия.
В примере с express версия пакета содержала, кроме того, дополнительный символ карет: . Этот символ означает, что при установке пакета в проект с помощью команды будет устанавливаться последняя доступная версия от . Фактически это будет последняя доступная версия в промежутке от до ( и ). Более подробно про сематическое версионирование в можно посмотреть здесь.
Объем модуля¶
{нить}
Имя каталога текущего модуля. Это то же самое, что и принадлежащий .
Пример: бег из
{нить}
Имя файла текущего модуля. Это абсолютный путь к текущему файлу модуля с разрешенными символическими ссылками.
Для основной программы это не обязательно то же самое, что имя файла, используемое в командной строке.
Видеть для имени каталога текущего модуля.
Примеры:
Бег из
Учитывая два модуля: а также , куда это зависимость от и есть структура каталогов:
Ссылки на в вернусь в то время как ссылки на в вернусь .
{Объект}
Ссылка на что короче набрать. См. Раздел о для получения подробной информации о том, когда использовать и когда использовать .
{модуль}
Ссылку на текущий модуль см. В разделе о . Особенно, используется для определения того, что модуль экспортирует и делает доступным через .
- {строка} имя модуля или путь
- Возвращает: {любой} экспортированное содержимое модуля
Используется для импорта модулей, , и локальные файлы. Модули можно импортировать из . Локальные модули и файлы JSON можно импортировать, используя относительный путь (например, , , , ), который будет разрешен для каталога, названного (если определено) или текущий рабочий каталог. Относительные пути стиля POSIX разрешаются независимо от ОС, что означает, что приведенные выше примеры будут работать в Windows так же, как и в системах Unix.
{Объект}
Модули кэшируются в этом объекте, когда они требуются. Удалив значение ключа из этого объекта, следующий перезагрузит модуль. Это не относится к нативные дополнения, для которых перезагрузка приведет к ошибке.
Также возможно добавление или замена записей. Этот кеш проверяется перед собственными модулями, и если в кеш добавляется имя, соответствующее собственному модулю, только -prefixed require вызовы будут получать собственный модуль
Используйте осторожно!
Инструктировать о том, как обрабатывать определенные расширения файлов.
Обработка файлов с расширением в качестве :
Устарело. Раньше этот список использовался для загрузки модулей, отличных от JavaScript, в Node.js путем их компиляции по запросу. Однако на практике есть гораздо лучшие способы сделать это, например, загрузить модули через какую-нибудь другую программу Node.js или заранее скомпилировать их в JavaScript.
Избегать использования . Использование может вызвать небольшие ошибки, и разрешение расширений будет медленнее с каждым зарегистрированным расширением.
{модуль}
В объект, представляющий сценарий входа, загружаемый при запуске процесса Node.js. Видеть .
В сценарий:
- {строка} Путь к модулю для разрешения.
- {Объект}
- {string []} Пути для определения местоположения модуля. Если присутствует, эти пути используются вместо путей разрешения по умолчанию, за исключением нравиться , которые всегда включены. Каждый из этих путей используется в качестве отправной точки для алгоритма разрешения модуля, что означает, что иерархия проверяется из этого места.
- Возвращает: {строка}
Используйте внутренний машины для поиска местоположения модуля, но вместо загрузки модуля просто верните разрешенное имя файла.
Если модуль не может быть найден, выдается ошибка.
- {строка} Путь к модулю, пути поиска которого извлекаются.
- Возвращает: {string [] | null}
Возвращает массив, содержащий пути, найденные во время разрешения или если строка ссылается на основной модуль, например или .
Отслеживание изменений
В настоящее время нам все еще нужно запустить наш скрипт, когда мы хотим скомпилировать наши Sass стили. Нам нужны наши скрипты, чтобы сделать это:
- Следить за изменениями в нашем каталоге .
- Когда происходит изменение, скомпилировать его в CSS в .
- После обновления файла следует перезагрузить страницу.
Сначала нам нужно установить пакет NPM , чтобы следить за изменениями в исходных файлах:
Мы можем написать скрипт NPM, который запускает другие сценарии. Давайте добавим скрипт, который следит за изменениями и запускает наш скрипт :
Скрипт отслеживает изменения, используя пакет (src/scss) и запускает наш скрипт , когда происходят изменения.
Папки как модули¶
Удобно организовать программы и библиотеки в автономные каталоги, а затем предоставить единую точку входа в эти каталоги. Существует три способа передачи папки в как аргумент.
Первый — создать файл в корне папки, в котором указывается модуль. Пример файл может выглядеть так:
Если бы это было в папке на , тогда попытается загрузить .
Это степень осознания файлы в Node.js.
Если нет файл присутствует в каталоге, или если запись отсутствует или не может быть разрешена, тогда Node.js попытается загрузить или файл из этого каталога. Например, если не было файл в предыдущем примере, затем попытается загрузить:
Если эти попытки не удастся, Node.js сообщит об отсутствии всего модуля с ошибкой по умолчанию:
8 ответов
Лучший ответ
Как удалить Node.js из Windows:
-
Сделайте глубокий вдох.
-
Run
-
Удалите из программы и компонентов с помощью программы удаления.
-
Перезагрузите компьютер (или вам, вероятно, удастся убить все процессы, связанные с узлами, из диспетчера задач).
-
Найдите эти папки и удалите их (и их содержимое), если они еще существуют. В зависимости от установленной версии, настроек UAC и архитектуры процессора, они могут существовать или не существовать:
- (или )
- (или )
- (и, возможно, проверьте это без префикса )
-
Проверьте переменную среды , чтобы убедиться в отсутствии ссылки на или существуют.
-
Если он все еще не удален, введите в командной строке, и вы увидите, где он находится — удалите его (и, возможно, родительский каталог) тоже.
-
Перезагрузитесь, для хорошей меры.
794
Zooly
28 Апр 2021 в 07:59
Лучше всего удалить Node.js из панели управления. После удаления загрузите желаемую версию Node.js и установите ее, и она работает.
-1
JJJ
5 Окт 2018 в 11:08
Вчера у меня была такая же проблема, и мое решение: 1. удалить из панели управления, а не с вашего cli 2. загрузить и установить последнюю или желаемую версию узла с его веб-сайта 3. если вы по ошибке попытались удалить через cli (он будет не удаляйте полностью чаще всего), тогда вы не получите опцию удаления в cpanel, в этом случае установите ту же версию узла, а затем выполните мой шаг 1.
Надеюсь, это кому-то поможет.
1
Ravi Bhadauria
12 Июл 2018 в 07:38
Я пришел сюда, потому что кнопка «Удалить» была недоступна в «Установка и удаление программ». Он говорил: «Node.js не может быть удален».
Это сработало:
- Получил .msi моей установленной версии Node. На всякий случай пробежал ремонтировать установку.
- Открыл командную строку администратора и запустил .
2
Mikhail Orlov
20 Апр 2020 в 19:46
В моем случае только вышеперечисленное не сработало. Я установил и удалил несколько версий nodejs, чтобы исправить эту ошибку: npm в Windows Ошибка: EISDIR, прочтите в Error (native), которую я продолжал получать при любой команде npm, которую я пытался запустить, включая получение версии npm с помощью: .
Таким образом, каталог npm был удален в папке nodejs, а последняя версия npm была скопирована из npm dist : а потом все заработало.
6
James Drinkard
21 Сен 2015 в 21:29
Какую бы версию Node.js вы ни установили, запустите ее установщик еще раз. Он просит вас удалить Node.js следующим образом:
25
Rory O’Kane
16 Июл 2020 в 21:59
Сценарий: удаление NodeJS, когда в Windows нет записи программы для вашей установки узла
У меня возникла проблема, из-за которой моя версия NodeJS (0.10.26) НЕ могла быть удалена или удалена, потому что программы и компоненты в Windows 7 (также известные как «Установка и удаление программ») не имели сведений о том, что я установил NodeJS … поэтому не было возможности удалить его, кроме ручного удаления ключей и файлов реестра.
Команда для проверки вашей версии NodeJS:
Я попытался установить новейшую рекомендованную версию NodeJS, но в конце процесса установки не удалось выполнить откат. Несколько версий NodeJS также потерпели неудачу, и установщик также откатил их. Я не мог обновить NodeJS из командной строки, так как у меня не был установлен SUDO.
РЕШЕНИЕ: Потратив несколько часов на устранение проблемы, включая обновление NPM, я решил переустановить ТОЧНУЮ версию NodeJS в моей системе поверх существующей установки.
Это решение сработало, и он переустановил NodeJS без каких-либо ошибок. Более того, он также добавил официальную запись в диалоговом окне «Установка и удаление программ».
Теперь, когда Windows знала о забытой установке NodeJS, я смог полностью удалить существующую версию NodeJS. Затем я успешно установил последнюю рекомендованную версию NodeJS для платформы Windows ( версия 4.4.5 на момент написания этой статьи ) без запуска отката.
Мне потребовалось время, чтобы добиться успеха, поэтому я публикую это на случай, если это поможет кому-то еще с аналогичной проблемой.
55
Michael M
2 Июн 2016 в 19:41
Комбинирование скриптов
Теперь нам нужно запустить две команды параллельно: Команду для запуска нашего сервера и команду для компиляции нашего Sass в CSS, которая вызовет перезагрузку страницы. Используя скрипты NPM, мы можем легко выполнять команды последовательно, используя оператор :
Однако вариант с последовательным запуском нам не подходит, поскольку скрипт будет ждать до тех пор, пока скрипт не завершит работу, прежде чем он начнет выполнять скрипт . Если мы добавим этот скрипт, а затем запустим его в терминале (), то не будет запущен, пока мы не остановим сервер.
Чтобы мы могли запускать команды параллельно, нам нужно установить другой пакет. NPM имеет несколько вариантов на выбор. Тот, который выбрал я :
Основными опциями этого пакета (или, по крайней мере, те, которые нас волнуют) являются и . Первая предназначена для последовательной работы, вторая — для параллельной работы со скриптами. Как только мы установим этот пакет, мы сможем использовать его для написания скрипта, который будет запускать одновременно наши скрипты и . Мы назовем этот скрипт .
Теперь у нас есть очень простой стартовый проект. Мы написали несколько скриптов, которые позволяют нам просто набирать команду , чтобы запустить сервер, следить за изменениями, компилировать Sass в CSS и перезагружать страницу. Пример репозитория можно найти здесь.
Теперь мы можем установить некоторые пакеты и написать сценарии для автоматизации некоторых других задач, таких как оптимизация изображений, создание спрайтов SVG и минификации JS.
Это стартовый проект может отлично подойти для небольших проектов, но чем больше задач мы хотим выполнить, тем больше скриптов нам понадобится написать, и тем сложнее будет ими управлять. Итак, в следующей статье мы рассмотрим, как Parcel, упаковщик модулей, поможет автоматизировать многие из этих задач с минимальной конфигурацией, и предоставить инструменты, необходимые для построения больших проектов.
Что такое Express и Node?
Node (или более формально Node.js) — кросплатформенная среда исполнения с открытым исходным кодом, которая позволяет разработчикам создавать всевозможные серверные инструменты и приложения используя язык JavaScript. Среда исполнения предназначена для использования вне контекста браузера (т.е. выполняется непосредственно на компьютере или на серверной ОС). Таким образом, среда исключает API-интерфейсы JavaScript для браузера и добавляет поддержку более традиционных OS API-интерфейсов, включая библиотеки HTTP и файловых систем.
С точки зрения веб-серверной разработки Node имеет ряд преимуществ:
- Отличная производительность! Node был разработан для оптимизации пропускной способности и масштабируемости в веб-приложениях и очень хорошо справляется со многими распространёнными проблемами веб-разработки (например, веб-приложения реального времени).
- Код написан на «обычном старом JavaScript», а это означает, что затрачивается меньше времени при написании кода для браузера и веб-сервера связанное с «переключением технологий» между языками.
- JavaScript является относительно новым языком программирования и имеет преимущества от улучшения дизайна языка по сравнению с другими традиционными языками для веб-серверов (например, Python, PHP, и т.д.). Многие другие новые и популярные языки компилируются/конвертируются в JavaScript, поэтому вы можете также использовать CoffeeScript, ClosureScript, Scala, LiveScript, etc.
- Менеджер пакетов Node (NPM) обеспечивает доступ к сотням тысяч многоразовых пакетов. Он также имеет лучшее в своём классе разрешение зависимостей и может также использоваться для автоматизации большинства инструментов построения.
- Он портативен, имеет версии для Microsoft Windows, OS X, Linux, Solaris, FreeBSD, OpenBSD, WebOS, и NonStop OS. Кроме того, он имеет хорошую поддержку среди многих хостинг-провайдеров, которые часто предоставляют конкретную инфраструктуру и документацию для размещения сайтов, работающих на Node.
- Он имеет очень активную стороннюю экосистему и сообщество разработчиков, которые всегда готовы помочь.
Вы можете использовать Node.js для создания простого веб сервера используя пакет Node HTTP.
Используйте зеркальное отображение Taobao NPM
Всем известно, что официальное зеркало, напрямую использующее npm в Китае, очень медленное, поэтому рекомендуется использовать зеркало Taobao NPM здесь.
Зеркало Taobao NPM является полным зеркалом npmjs.org. Вы можете использовать его вместо официальной версии (только для чтения). Частота синхронизации в настоящее время составляет один раз каждые 10 минут, чтобы обеспечить максимальную синхронизацию с официальной службой.
Используйте настраиваемый инструмент командной строки Taobao cnpm (поддержка сжатия gzip) вместо npm по умолчанию:
Затем вы можете использовать команду cnpm для установки модуля:
Более подробную информацию можно найти по адресу:http://npm.taobao.org/。
Ссылки и ссылки:npm введение | Учебник новичка китайская документация npm | npm 中文 网
package.json¶
В npm файл используется для описания модулей, от которых зависимо ваше приложение, и содержит ряд метаданных о приложении. Рассмотрим на примере. Предположим, у вас есть проект, корневая директория которого называется . Перейдите в через командную строку и введите команду.
Вам будет предложено ввести некоторые данные, на основе которых Node.js npm сгенерирует файл . Структура файла:
- — название приложения;
- — версия;
- — описание;
- — главный файл приложения, который отвечает за его запуск (хорошей практикой считается давать название или );
- — объект, описывающий команды, которые часто приходится выполнять в процессе разработки и упрощающий их использование;
- — ссылка на Git репозиторий, где хранится проект;
- — массив ключевых слов, по которым будет осуществляться поиск модуля на сайте npm (если он будет там опубликован);
- — разработчик;
- — лицензия, под которой будет распространяться приложение.
Пример, как может выглядеть .
package.json
Если вы не планируете публиковать свое приложение в общем репозитории npm, то заполнять все поля совсем не обязательно. Вполне будет достаточно для собственного удобства указать , и .
Установка Node
Чтобы использовать Express, сначала необходимо установить Nodejs и Node Package Manager (NPM) в вашей операционной системе. В следующих разделах описывается самый простой способ установки версии Nodejs с долгосрочной поддержкой (LTS) в Ubuntu Linux 16.04, macOS и Windows 10.
Совет: В следующих разделах показан самый простой способ установки Node и NPM на наши целевые платформы ОС. Если вы используете другую ОС или просто хотите увидеть некоторые другие подходы для текущих платформ, см. Установка Node.js через менеджер пакетов (nodejs.org).
Самый простой способ установить последнюю версию LTS Node 6.x — это использовать чтобы получить его из репозитория бинарных дистрибутивов Ubuntu. Это можно сделать очень просто, выполнив следующие две команды на вашем терминале:
Внимание: Не устанавливайте напрямую из обычных репозиториев Ubuntu, поскольку они содержат очень старые версии узла. Самый простой способ проверить, установлен ли этот узел, — это запустить команду «версия» в своём терминале / командной строке и проверить, что возвращается строка версии:
Самый простой способ проверить, установлен ли этот узел, — это запустить команду «версия» в своём терминале / командной строке и проверить, что возвращается строка версии:
Менеджер пакетов Nodejs NPM также должен быть установлен и может быть протестирован таким же образом:
В качестве немного более захватывающего теста давайте создадим очень простой сервер «чистого узла», который просто печатает «Hello World» в браузере, когда вы посещаете правильный URL в вашем браузере:
-
Скопируйте следующий текст в файл с именем hellonode.js. Здесь используются чистые функции Node (ничего из Express) и некоторый синтаксис ES6:
Код импортирует модуль «http» и использует его для создания сервера (createServer ()), который обрабатывает HTTP-запросы на порту 3000. Затем сценарий выводит на консоль сообщение о том, какой URL-адрес браузера можно использовать для тестирования сервера. Функция createServer () принимает в качестве аргумента колбэк-функцию, которая будет вызываться при получении HTTP-запроса — она просто возвращает ответ с кодом состояния HTTP 200 («ОК») и простым текстом «Hello World».
Замечание: не беспокойтесь, если вы ещё не совсем понимаете, что делает этот код! Мы объясним наш код более подробно, как только мы начнём использовать Express!
- Запустите сервер, перейдя в тот же каталог, что и ваш файл hellonode.js в командной строке, и вызвав узел вместе с именем скрипта, например так:
- Перейдите к URL-адресу http://127.0.0.1:3000. Если все работает, браузер должен просто отобразить строку «Hello World».
13 ответов
Лучший ответ
Есть несколько подходов к этому.
Вы можете использовать супер ленивый подход и позволить им вводить только имя файла, а не расширение .txt. В этом случае вы можете добавить к нему .txt, чтобы открыть входной файл.
Тогда вы просто позвоните
Следующий подход — взять полное имя файла, включая расширение, и просто добавить к нему .code, чтобы у вас был test.txt.code.
Это немного неоднозначно, приемлемо это или нет.
Наконец, вы можете использовать методы и , чтобы получить имя файла без расширения , и используйте это.
9
Alan
26 Апр 2013 в 17:54
Конечно, если бы это было не домашнее задание, а реальный проект, вы, вероятно, оказали бы себе (а также другим людям, читающим ваш код) услугу, используя Boost.Filesystem вместо собственного. Просто нет функциональности, которая была бы достаточно простой, чтобы вы не смогли придумать ошибку, по крайней мере, в каком-то крайнем случае.
9
Reunanen
16 Апр 2009 в 20:50
Не раздавать, так как обучение — это весь смысл упражнения, но вот подсказка. Вероятно, вам понадобится комбинация и .
4
Eclipse
16 Апр 2009 в 20:42
Вот несколько подсказок. У вас уже введено имя файла — вы хотите получить часть имени файла, которая не включает расширение:
Написав эту функцию, вы можете использовать ее для создания имени нового файла:
3
1800 INFORMATION
16 Апр 2009 в 20:41
Псевдокод будет делать что-то вроде
Для изменения outFilename посмотрите на strrchr и strcpy в качестве отправной точки (могут быть более подходящие методы — хотя они отлично работают с char *)
DougN
16 Апр 2009 в 20:42
Почему бы не использовать строковый метод ?
yves Baumes
17 Апр 2009 в 08:04
Я бы просто добавил «.code» к имени файла, введенному пользователем. Если они введут «test.txt», то выходной файл будет «test.txt.code». Если они ввели имя файла без расширения, например «test», то выходной файл будет «test.code».
Я все время использую эту технику с программами, которые генерируют выходные файлы и какие-то связанные с ними журналы / диагностические данные. Его просто реализовать и, на мой взгляд, он делает отношения между файлами более явными.
Ferruccio
11 Май 2012 в 10:33
Как насчет использования strstr:
Maadiah
11 Май 2012 в 11:47
Что вам нужно сделать, так это скопировать исходное имя файла в новую переменную, где вы можете изменить расширение. Что-то вроде этого:
Возможно, вы могли бы использовать переменную «filename», если вам не нужно сохранять исходное имя файла для дальнейшего использования. В этом случае вы можете просто использовать:
Главное — взглянуть на определение строкового класса C ++ и понять, что делает каждая функция-член. Использование rfind будет выполнять поиск в обратном направлении по строке, и вы не попадете случайно в какие-либо расширения в именах папок, которые могут быть частью исходного имени файла (например, «C: \ MyStuff.School \ MyFile.txt»). При работе со смещениями из find, rfind и т. Д. Вы также должны быть осторожны, чтобы использовать их правильно при передаче их в качестве счетчиков другим методам (например, вы используете assign (filename, 0, extPos-1), assign (имя файла, 0, extPos), присвоить (имя файла, 0, extPos + 1)).
Надеюсь, это поможет.
-1
Neal Stublen
16 Апр 2009 в 20:57
-1
Iulian Palade
14 Июн 2016 в 11:59
Очень просто:
Результат: «file.abc»
-1
Iván Rodríguez
21 Июн 2018 в 01:16
Я иногда задаю себе этот вопрос и попадаю на эту страницу, поэтому для справки в будущем вот однострочный синтаксис:
16
dvhamme
6 Янв 2015 в 10:05
В Windows (по крайней мере) вы можете использовать _splitpath для анализа базы назовите остальные части, а затем соберите их, используя свой любимый форматер строк.
John Dibling
17 Апр 2009 в 02:44
Установка определённой версии пакета
Установим ещё один пакет и поговорим о его возможных версиях
$ npm install normalize.css
Если package.json не содержит записи о normalize.css то будет установлена последняя стабильная версия.
Если в package.json указана версия, будет установлена она.
Если Вы хотите установить какую-то определённую версию, укажите её в package.json либо
введите @номер_версии при установке.
Например npm install normalize.css@8.0.1
npm WARN heihei@1.0.0 No description
npm WARN heihei@1.0.0 No repository field.
+ normalize.css@8.0.1
added 1 package and audited 2 packages in 0.523s
found 0 vulnerabilities
Посмотрим содержимое файла package.json и заодно узнаем какие версии пакетов установлены
$ vi package.json
Установка Node.js
Самое первое, что нам нужно сделать, чтобы настроить наш проект на работу со скриптами в NPM, это убедиться, что у нас установлен Node.js глобально. Звучит достаточно просто, но уже сейчас все становится немного сложнее, когда мы понимаем, что существует ряд различных способов как это сделать:
- Загрузите последнюю версию с веб-сайта и следуйте инструкциям по установке.
- Используйте менеджер пакетов, подобный Homebrew для Mac, который позволяет нам обновлять нашу версию узла простой командой: .
- Использование NVM (Менеджер версий Node).
NVM — это мой предпочтительный вариант, так как он позволяет нам легко обновить версию узла, посмотреть, какую версию мы используем, перечислить другие установленные версии или переключиться на другую версию с помощью одной команды. Но описание установки NPM состоит из множества шагов, что выходит за рамки этой конкретной статьи.
После установки Node (любым удобным для вас способом) вы можете проверить текущую установленную версию, запустив . Если вы используете NVM, вы можете (опционально) создать конфигурационный файл , чтобы убедиться, что вы всегда запускаете правильную версию Node для вашего проекта.