Linux npm что это
Перейти к содержимому

Linux npm что это

  • автор:

npm для простых смертных

Эта статья предназначена для тех, кто не очень дружит с Node.js, но хочет использовать приложения вроде Grunt, Gulp и тому подобные. Процесс работы с этими приложениями подразумевает редактирование файла package.json и использование команд npm, так что понимание принципов работы npm поможет вам справиться с трудностями.

Node.js за 5 минут

Понимание того, что такое Node.js поможет вам лучше разобраться с npm. В двух словах — Node.js это интерпретатор языка JavaScript. Сам по себе Node.js является приложением, которое получает на входе и выполняет его.
Давайте создадим простую программу. Создайте файл helloworld.js и поместите в него следующий код:

console.log("Hello World"); 

Теперь откройте терминал, зайдите в папку с вашей программой и выполните команду node helloworld.js . Вместо helloworld.js может быть любой другой файл с . Убедитесь, что у вас установлен Node.js. Результат выполнения программы будет выглядеть примерно так:

Результат выполнения helloworld.js

Программа просто выведет строку «Hello World» в терминал.

Пакеты в Node.js

Вкратце, пакетом в Node.js называется один или несколько , представляющих собой библиотеку или инструмент.
npm (аббр. node package manager) — это стандартный менеджер пакетов, автоматически устанавливающийся вместе с Node.js. Он используется для скачивания пакетов из облачного сервера npm, либо для загрузки пакетов на эти сервера.

Файл package.json

Файл package.json содержит в себе информацию о вашем приложении: название, версия, зависимости и тому подобное. Любая директория, в которой есть этот файл, интерпретируется как Node., даже если вы не собираетесь публиковать его.
Способ использования файла package.json зависит от того, собираетесь ли вы скачивать пакет или публиковать его.

Скачивание пакетов

Если вы хотите скачать пакет вручную, вам необязательно использовать для этого package.json. Вы можете выполнить в терминале команду npm с названием нужного пакета в качестве аргумента команды, и пакет будет автоматически скачан в текущую директорию. Например:

$ npm install canvas-chart 

Также для скачивания пакетов вы можете использовать package.json. Создайте в директории вашего проекта файл package.json, и добавьте в него следующий код (мы не указываем название нашего пакета и версию, мы не собираемся его публиковать; мы указываем название и версию пакетов для загрузки):

Затем сохраните файл и выполните в терминале команду npm install .
Если вы хотите использовать в своём проекте множество пакетов, то лучше указать их package.json вместо того, чтобы каждый раз скачивать их через терминал.
Если вы используете package.json для скачивания пакетов, то получается, что вы создаёте пакет для скачивания пакетов. Я знаю, что это странно, но это работает.
Если пакет имеет зависимости, то npm найдёт их через package.json загружаемого пакета и скачает их. В нашем случае у пакета тоже есть файл package.json с прописанными в нём зависимостями.

Публикация пакета

Чтобы опубликовать пакет, вам потребуется собрать все исходные коды и файл package.json в одной директории. В package.json должны быть указаны название, версия и зависимости пакета. Например:

Посмотрев на этот код, мы можем сказать, что пакет зависит от пакета . Опубликовать пакет можно с помощью комадны npm publish .

Использование пакета в качестве исполняемого файла

Когда npm скачивает пакет, он ищет свойство «bin» в файле package.json. Если он находит это свойство, то он конвертирует этот пакет в исполняемый файл и размещает его в указанной директории.
Например, команда ниже загружает в текущую директорию и конвертирует исходники в исполняемый файл, который затем помещается в папку со всеми исполняемыми файлами. Вследствие этого мы сможем вызвать команду .

$ npm install grunt-cli 

Теперь вы знаете, что такое пакет и как он может зависеть от других пакетов. Также вы узнали, как npm работает с пакетами. Давайте перейдём от теории к практике и установим Grunt.

Установка Grunt с помощью npm

  • Создайте директорию для вашего проекта. С точки зрения сервера эта директория будет корневой.
  • Откройте эту директорию через терминал.
  • Теперь скачайте и установите Grunt. Аргумент -g указывает npm на то, что пакет следует скачивать в основную папку для хранения пакетов, а не в текущую директорию.
$ npm install -g grunt-cli 
module.exports = function(grunt) < // 1. Общая конфигурация grunt.initConfig(< pkg: grunt.file.readJSON('package.json'), concat: < // 2. Настройки для склеивания файлов dist: < src: [ 'js/libs/*.js', // Все js-файлы в директории libs 'js/global.js' // Отдельный файл ], dest: 'js/build/production.js', >> >); // 3. Сообщаем, какие плагины мы собираемся использовать grunt.loadNpmTasks('grunt-contrib-concat'); // 4. Определяем задачу по умолчанию, которая будет выполняться при запуске команды grunt в терминале. grunt.registerTask('default', ['concat']); >; 

Итог

В этой статье я попробовал объяснить то, как работает npm для новичков в Node.js. Теперь вы должны быть способны устанавливать и использовать различные Node.. Спасибо за чтение!

Что Такое npm? Общее Руководство для Начинающих

npm – это менеджер пакетов, который входит в состав Node.js. В течение многих лет Node широко использовался разработчиками JavaScript для обмена инструментами, установки различных модулей и управления их зависимостями. Вот почему людям, работающим с Node.js, очень важно понять, что такое npm.

Нужен недорогой, но надёжный хостинг для вашего нового проекта? Обратите внимание, что в Hostinger действуют скидки на все тарифы хостинга. Воспользуйтесь предложением и разместите сайт до 90% дешевле!

Как Работает npm?

Он работает, выполняя одну из своих двух ролей:

  • Это широко используемый репозиторий для публикации проектов Node.js с открытым исходным кодом. Это означает, что это онлайн-платформа, где каждый может публиковать и делиться инструментами, написанными на JavaScript.
  • npm – это инструмент командной строки, который помогает взаимодействовать с онлайн-платформами, такими как браузеры и серверы. Эта утилита помогает в установке и удалении пакетов, управлении версиями и зависимостями, необходимыми для запуска проекта.

Чтобы использовать npm, нужно сначала установить node.js , так как они связаны.

Страница Загрузки Node.js

Утилита командной строки npm обеспечивает корректную работу node.js.

Чтобы использовать пакеты, ваш проект должен содержать файл с именем package.json . Внутри этого пакета вы найдёте метаданные, касающиеся проектов.

Метаданные показывают несколько аспектов проекта в следующем порядке:

  • Название проекта
  • Первоначальная версия
  • Описание
  • Точка входа
  • Тестовые команды
  • Репозиторий Git
  • Ключевые слова
  • Лицензия
  • Зависимости
  • DevDependencies

Метаданные помогают идентифицировать проект и служат основным источником информации о проекте.

Вот пример того, как вы можете идентифицировать проект по его метаданным:

< "name": "hostinger-npm", "version": "1.0.0", "description": "npm guide for beginner", "main": "beginner-npm.js", "scripts": < "test": "echo \"Error: no test specified\" && exit 1" >, "keywords": [ "npm", "example", "basic" ], "author": "Hostinger International", "license": "MIT", "dependencies": < "express": "^4.16.4" >>
  • Имя: hostinger-npm
  • Версия: 1.0.0
  • Это руководство по npm для начинающих
  • Точка входа в проект или основной файл: beginner-npm.js
  • Ключевые слова или теги для поиска проекта в репозитории: npm, example и basic
  • Автор проекта: Hostinger International .
  • Этот проект лицензирован в рамках MIT
  • Зависимости или другие модули, которые использует этот модуль – express 4.16.4

Как Установить Модули npm и Запустить Проекты?

Убедитесь, что node.js и npm установлены, выполнив несколько простых команд.

Чтобы посмотреть, установлен ли node.js, откройте Терминал или инструмент командной строки и введите node -v . Если пакет node.js уже установлен, вы должны увидеть номер версии:

$ node -v v0.10.9

Чтобы узнать, установлен ли npm, введите npm -v. Опять же таки, вы должны увидеть номер версии:

$ npm -v 1.2.25

Если он не установлен, скачайте Node с сайта node.js и следуйте инструкциям установщика.

npm известен своим однострочным установщиком:

$ curl https://npmjs.org/install.sh | sh

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

Также вы можете обновить его с помощью этой команды:

$ npm update -g npm 

Инициализация Проекта с npm

Если у вас уже есть Node и npm, и вы хотите приступить к разработке, выполните команду npm init . Это запустит инициализацию вашего проекта.

Например, давайте создадим каталог с именем test-npm и cd в него. Теперь давайте запустим нашу первую команду npm:

$ npm init

Эта команда служит инструментом для создания файла package.json проекта. После выполнения шагов npm init , файл package.json будет сгенерирован автоматически и помещён в текущий каталог.

Полезной функцией является то, запуск инициализации менеджера пакетов Node сопровождается объяснениями:

mymacs-MacBook-Pro: test-npm mymac$ npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sane defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install --save` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. name: (test-npm)

Ответьте на подсказки npm init .

name: (test-npm)hostinger-npm version: (1.0.0)1.0.0 description: npm guide for beginner entry point: (index.js) beginner-npm.js test command: git repository: keywords: npm, example, beginner author: Hostinger Internationallicense: (ISC) MIT

Нажмите “ Enter ”, чтобы принять их. Затем npm init даст вам возможность предварительно просмотреть package.json , который будет создан.

Это выглядит следующим образом:

< "name": "hostinger-npm", "version": "1.0.0", "description": "npm guide for beginner", "main": "beginner-npm.js", "scripts": < "test": "echo \"Error: no test specified\" && exit 1" >, "keywords": [ "npm", "example", "basic" ], "author": "Hostinger International", "license": "MIT", "dependencies": < "express": "^4.16.4" >> Is this OK? (yes) yes mymac-MacBook-Pro: test-npm mymac$

Введите “ yes ” и нажмите “ Enter ”, чтобы сохранить package.json . Вы всегда можете изменить его позже, либо отредактировав файл напрямую, либо снова запустив npm init .

Установка Модулей npm

Пакет в node.js содержит все файлы, необходимые для модуля. Модули – это библиотеки JavaScript, которые вы можете включить в свой проект.

Установка модулей – одна из самых важных вещей, которую вы должны научиться делать, начиная работу с менеджером пакетов Node. Вот команда для установки модуля в текущий каталог:

$ npm install $ npm i

В приведенной выше команде замените на имя модуля, который вы хотите установить.

Например, если вы хотите установить Express – наиболее используемый и наиболее известный фреймворк node.js, вы можете выполнить следующую команду:

$ npm install express
[mymac-MacBook-Pro:test-npm mymac$ npm install express] npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN hostinger-npm@1.0.0 No repository field. + express@4.16.4 added 48 packages from 36 contributors and audited 121 packages in 2.798s found 0 vulnerabilities mymac-MacBook-Pro: test npm mymac$

Приведённая выше команда установит модуль Express в /node_modules в текущий каталог.

Каждый раз, когда вы устанавливаете модуль из npm, он будет установлен в папку node_modules .

Вот как это выглядит после установки модуля в ваш проект:

[mymac-MacBook-Pro:test-npm mymac$ npm install express] npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN hostinger-npm@1.0.0 No repository field. + express@4.16.4 added 48 packages from 36 contributors and audited 121 packages in 2.798s found 0 vulnerabilities mymac-MacBook-Pro: test npm mymac$

Выводы

Разбираясь с вопросом, что такое npm, вы наверняка заметили, что помимо своей основной функции – функции онлайн-базы данных для различных пакетов node.js – ещё одной целью менеджера пакетов Node (npm) являются автоматические зависимости и управление файлами package.json , благодаря его интерфейсу командной строки.

Вот список основных команд, которые следует знать, если вы хотите не только разбираться в том, что такое npm, но и работать с ним:

$ curl https://npmjs.org/install.sh | sh
$ npm -v
$ npm init

$ npm install $ npm i

Если вы планируете работать с JavaScript, npm – незаменимый инструмент в вашем рабочем процессе.

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов’язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.

Что такое NodeJS и npm?

Наверняка вы уже слышали про NodeJS и возможно использовали его в каких-то тестовых или реальных проектах.

NodeJS — это платформа для разработки на языке программирования Javascript, как бэкенд, так и фронтенд части. NodeJS использует движок V8.

Но зачем использовать Javascript еще где-то, кроме как в браузере?
Дело в том, что язык Javascript служит не только для того, чтобы сделать выпадающие меню и мигание кнопочек, как это было задумано изначально, в далеком 1995 году. Прошло уже больше 20 лет и развитие Javascript не стояло на месте. У языка Javascript появилось очень много возможностей и писать различные скрипты достаточно удобно на современном Javascript, а благодаря менеджеру пакетов npm жизнь frontend и backend разработчиков стала лучше.

Смотрите видео Что такое NodeJS и NPM

Что такое npm?

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

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

С помощью менеджера npm можно добавить в ваш проект огромное количество всевозможных библиотек и инструментов и в следующих уроках я покажу как установить NodeJS и пользоваться менеджером пакетов npm, а также покажу как создаются современные frontend приложения.

Также легко, как подключение Bootstrap к вашему проекту через NPM, вы можете подключить и BabelJS, для того, чтобы у вас была возможность писать код вашего приложения на современном Javascript.

Смотрите все уроки по NodeJS и NPM в курсе Modern Javascript

Успехов в обучении!

С уважением, Сергей Никонов

Поделитесь в социальных сетях

Введение в пакетный менеджер NPM для начинающих

Node.js делает возможным написание серверных приложений на JavaScript. Он построен на движке JavaScript V8 и написан на C++ — и поэтому он быстрый. Изначально он создавался как серверное окружение для приложений, но разработчики начали использовать его для создания инструментов, помогающих автоматизировать выполнение локальных задач. В итоге возникшая вокруг Node.js новая экосистема инструментов (типа Grunt и Gulp), привела к трансформации процесса фронтенд-разработки.

Чтобы использовать все эти инструменты (или пакеты) в Node.js нам нужна возможность устанавливать и управлять ими. Для этого создан npm, пакетный менеджер Node.js. Он устанавливает нужные вам пакеты и предоставляет удобный интерфейс для работы с ними. Но перед тем как начать использовать npm, вам надо установить в своей системе Node.js.

Установка Node.js

Перейдите на страницу загрузок Node.js и скачайте нужную вам версию. Есть установщики для Windows и Mac, а также скомпилированные бинарники и исходный код для Linux. Кроме того, в Linux вы можете установить Node.js с помощью пакетного менеджера, все это описано в документации.

В этой статье мы будем использовать стабильную версию 5.7.0.

Посмотреть, где установлен Node и проверить версию можно следующими командами:

$ which node /usr/local/bin/node $ node --version v5.7.0 

Чтобы удостовериться, что установка прошла успешно, выполним несколько команд в простой интерактивной среде Node (REPL).

$ node > console.log('Node is running'); Node is running > .help .break Sometimes you get stuck, this gets you out .clear Alias for .break .exit Exit the repl .help Show repl options .load Load JS from a file into the REPL session .save Save all evaluated commands in this REPL session to a file > .exit 

Установка работает, поэтому теперь мы можем сфокусироваться на npm, который включен в установку.

$ which npm /usr/local/bin/npm $ npm --version 3.6.0 

Пакеты Node

С помощью npm можно устанавливать пакеты локально или глобально. В локальном режиме пакеты устанавливаются в каталог node_modules родительского каталога. Владельцем каталога является текущий пользователь. Глобальные пакеты устанавливаются в каталог /lib/node_modules/ , владельцем которого является root (префиксом в данном случае обычно является каталог /usr/ или /usr/local ). Это значит, что вам надо использовать sudo для глобальной установки пакетов, что может повлечь ошибки с полномочиями при разрешении сторонних зависимостей, а также создает проблему для безопасности. Изменим это:

пакетный менеджер как складской рабочий

Изменение места установки глобальных пакетов

Посмотрим, что скажет нам команда npm config .

$ npm config list ; cli configs user-agent = "npm/3.6.0 node/v5.7.0 linux x64" ; node bin location = /usr/local/bin/node ; cwd = /home/sitepoint ; HOME = /home/sitepoint ; 'npm config ls -l' to show all defaults. 

Мы получили основную информацию об установке. Теперь важно узнать место установки глобальных пакетов:

$ npm config get prefix /usr/local 

Этот префикс мы хотим изменить так, чтобы устанавливать пакеты в свой домашний каталог. Для этого создайте в домашнем каталоге папку .node_modules_global и укажите ее в качестве места установки пакетов в конфигурации:

$ cd && mkdir .node_modules_global $ npm config set prefix=$HOME/.node_modules_global 

Внеся такую небольшую правку в конфигурацию, мы изменили место для глобальной установки пакетов. Также в нашем домашнем каталоге появился файл .npmrc .

$ npm config get prefix /home/sitepoint/.node_modules_global $ cat .npmrc prefix=/home/sitepoint/.node_modules_global 

Сам npm по-прежнему установлен в каталог, владельцем которого является root. Но так как мы поменяли место установки глобальных пакетов, мы можем использовать полученное преимущество. Мы установим npm еще раз, но теперь в место, указанное нами. Заодно мы получим последнюю версию npm.

$ npm install npm --global /home/sitepoint/.node_modules_global/bin/npm -> /home/sitepoint/.node_modules_global/lib/node_modules/npm/bin/npm-cli.js /home/sitepoint/.node_modules_global/lib └── npm@3.7.5 

Наконец, нам надо добавить .node_modules_global/bin в нашу переменную окружения $PATH , чтобы мы могли запускать глобальные пакеты из командной строки. Сделаем это, добавив следующую строку в файл .profile или .bash_profile и перезапустив терминал.

export PATH="$HOME/.node_modules_global/bin:$PATH" 

Теперь командная оболочка будет сразу находить пакеты, установленные в .node_modules_global/bin и использовать корректную версию npm .

$ which npm /home/sitepoint/.node_modules_global/bin/npm $ npm --version 3.7.5 

Глобальная установка пакетов

На данный момент у нас уже есть один глобальный пакет — это сам пакет npm. Изменим это и установим еще один пакет, это будет UglifyJS (инструмент для минификации JavaScript). Для глобальной установки используется флаг —global , его можно записывать сокращенно -g .

$ npm install uglify-js --global /home/sitepoint/.node_modules_global/lib └─┬ uglify-js@2.6.2 ├── async@0.2.10 ├── source-map@0.5.3 ├── uglify-to-browserify@1.0.2 └─┬ yargs@3.10.0 ├── camelcase@1.2.1 ├─┬ cliui@2.1.0 │ ├─┬ center-align@0.1.3 │ │ ├─┬ align-text@0.1.4 │ │ │ ├─┬ kind-of@3.0.2 │ │ │ │ └── is-buffer@1.1.2 │ │ │ ├── longest@1.0.1 │ │ │ └── repeat-string@1.5.4 │ │ └── lazy-cache@1.0.3 │ ├── right-align@0.1.3 │ └── wordwrap@0.0.2 ├─┬ decamelize@1.1.2 │ └── escape-string-regexp@1.0.5 └── window-size@0.1.0 

Как вы можете видеть из вывода в консоль, у нас установлены дополнительные пакеты — это зависимости UglifyJS.

Вывод списка установленных пакетов

Мы можем вывести список глобально установленных пакетов с помощью команды npm list с опцией —global :

$ npm list --global ├─┬ npm@3.7.5 │ ├── abbrev@1.0.7 │ ├── ansi-regex@2.0.0 │ ├── ansicolors@0.3.2 │ ├── ansistyles@0.1.3 . └─┬ uglify-js@2.6.2 ├── async@0.2.10 ├── source-map@0.5.3 ├── uglify-to-browserify@1.0.2 

Такой вывод списка, со всеми зависимостями, перенасыщен. Мы можем выводить его в более читаемом виде с помощью опции —depth=0 :

$ npm list -g --depth=0 ├── npm@3.7.5 └── uglify-js@2.6.2 

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

Теперь мы можем обрабатывать файлы JavaScript в терминале с помощью UglifyJS. Например, следующая команда сделает из файла example.js минифицированный example.min.js :

$ uglifyjs example.js -o example.min.js 

Локальная установка пакетов

Локальная установка используется в npm по умолчанию, то есть достаточно не использовать флаг —global . Пакет будет установлен в каталог node_modules родительского каталога. Создадим каталог с проектом в нашем домашнем каталоге:

$ mkdir ~/project && cd ~/project $ npm install underscore /home/sitepoint/project └── underscore@1.8.3 $ ls node_modules $ ls node_modules underscore 

Вывод списка локальных пакетов

Также как и в случае с глобальными пакетами, список локальных выводится командой npm list :

$ npm list /home/sitepoint/project └── underscore@1.8.3 

Как видите, мы можем устанавливать локальные пакеты, где угодно. Это также значит, что мы можем создать другой каталог и установить туда другую версию пакета (в нашем случае это библиотека underscore).

Удаление локальных пакетов

Так как npm это пакетный менеджер, у него есть возможность удалять пакеты. Предположим, что установленная в предыдущем примере версия underscore вызывает проблемы с совместимостью. Мы можем удалить этот пакет и поставить более старую версию.

$ npm uninstall underscore - underscore@1.8.3 node_modules/underscore $ npm list /home/sitepoint/project └── (empty) 

Установка определенной версии пакета

Теперь установим нужную версию underscore. В команде установки номер версии указывается после символа @ :

$ npm install underscore@1.8.2 /home/sitepoint/project └── underscore@1.8.2 $ npm list /home/sitepoint/project └── underscore@1.8.2 

Обновление пакета

В последней версии underscore исправили мешавший нам баг и мы хотим обновить версию этого пакета.

$ npm update underscore underscore@1.8.3 node_modules/underscore $ npm list /home/sitepoint/project └── underscore@1.8.3 

Примечание: для этой статьи, библиотека underscore была указана как зависимость в package.json (см. управление зависимостями).

Поиск пакетов

Мы уже пару раз использовали команду mkdir . Есть ли пакет node с подобным функционалом?

$ npm search mkdir npm WARN Building the local index for the first time, please be patient 

Такой пакет нашелся (mkdirp), установим его.

$ npm install mkdirp /home/sitepoint/project └─┬ mkdirp@0.5.1 └── minimist@0.0.8 

Теперь создадим файл mkdir.js :

var mkdirp = require('mkdirp'); mkdirp('foo', function (err) < if (err) console.error(err) else console.log('Directory created!') >); 

И запустим его в терминале:

$ node. mkdir.js Directory created! 

Управление кэшем

После установки пакета npm сохраняет его копию в кэше, поэтому при следующей его установке вам не нужно беспокоить сеть. Кэш хранится в каталоге .npm вашего домашнего каталога.

$ ls ~/.npm _locks minimist mkdirp registry.npmjs.org underscore 

Этот каталог со временем замусоривается старыми пакетами и иногда его полезно очищать.

$ npm cache clean 

Управление зависимостями

В нашем проекте пока только два пакета, но их количество очень быстро возрастает. Установка зависимостей вручную очень неудобна, поэтому для управления ими мы можем использовать файл package.json , расположив его в корне нашего проекта. Он генерируется с помощью команды npm init , которая выведет в консоль несколько вопросов для создания файла:

$ npm init This utility will walk you through creating a package.json file. Press ^C at any time to quit. name: (project) demo version: (1.0.0) description: Demo of package.json entry point: (index.js) test command: git repository: keywords: author: Sitepoint license: (ISC) 

В результате мы получим файл со следующим содержимым:

< "name": "demo", "version": "1.0.0", "description": "Demo package.json", "main": "main.js", "dependencies": < "mkdirp": "^0.5.1", "underscore": "^1.8.3" >, "devDependencies": <>, "scripts": < "test": "echo \"Error: no test specified\" && exit 1" >, "author": "Sitepoint", "license": "ISC" > 

Вы можете сгенерировать это файл и более простым способом, с помощью опции —yes (автоматический ответ “да” на все вопросы):

$ npm init --yes 

Файл package.json будет создан в качестве name будет использовано название каталога.

Вы также можете добавить private: true , чтобы предотвратить случайную публикацию частных репозиториев или подавления любых предупреждений при выполнении npm install . Создадим новый каталог и используем package.json для установки зависимостей.

$ mkdir ~/demo && cd ~/demo $ cp ~/project/package.json ~/demo $ npm install $ npm list demo@1.0.0 /home/sitepoint/demo ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 └── underscore@1.8.3 

Это показывает, как просто мы можем установить пакеты, нужные нам в другом каталоге на основе нашего файла package.json . Но как поддерживать его актуальность при установке новых пакетов? Для этого используется флаг —save .

$ npm install request --save $ npm list --depth=0 demo@1.0.0 /home/sitepoint/demo ├── mkdirp@0.5.1 ├── request@2.53.0 └── underscore@1.8.3 

Наш файл package.json также обновился:

"dependencies":

Менеджеры версий

Есть пара инструментов, позволяющих использовать несколько версий Node.j на одном компьютере. Первая это n, другая — nvm(Node Version Manager). Если вас интересует эта возможность, подробнее о ней можно узнать из следующей статьи: Install Multiple Versions of Node.js using nvm.

Заключение

В этой статье освещены основы работы с npm. Я показал, как установить Node.js, как изменить место установки глобальных пакетов (так мы можем избежать использования sudo ) и как установить пакеты локально и глобально. Я также рассмотрел удаление, обновление и установку определенной версии пакета, а также управление зависимостями проекта.

В каталоге npm тысячи пакетов и их число будет расти, с учетом анонса jQuery о публикации всех плагинов как пакетов npm.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *