NPM utilice Introducción
NGP se acompaña nodejs herramientas de gestión de paquetes instalados juntos, pueden resolver muchos problemas nodejs código para la implementación en escenarios de uso común son los siguientes:
- NPM permite a los usuarios descargar desde el servidor a los paquetes de terceros escritos por otros para el uso local.
- Permite a los usuarios para descargar e instalar el programa de línea de comandos escrito por otra persona para utilizar el servidor local desde el MNP.
- Permite a los usuarios escribir su propio programa o paquete de línea de comandos cargado en el servidor para que otros utilicen la NGP.
Dado que la nueva versión de nodejs han integrado la NGP, así que antes de la NGP también ser instalado. También puede entrar en el"NPM -v" para comprobar si una instalación exitosa.El siguiente comando, aparece la versión de instalación rápida se ha realizado correctamente:
$ npm -v 2.3.0
Si instala una versión anterior de la NGP, fácilmente se puede actualizar a través de la NGP, el comando es el siguiente:
$ sudo npm install npm -g /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js [email protected] /usr/local/lib/node_modules/npm
Si el sistema de ventana, utilice el siguiente comando:
npm install npm -g
Npm instalar usando el módulo de mando
NPM instalar sintaxis módulo Node.js es el siguiente:
$ npm install <Module Name>
Los siguientes ejemplos, que utilizan el comando para instalar NPM módulo web Node.js marco comúnexpresa:
$ npm install express
Una vez instalado, expresa el paquete se coloca en el directorio node_modules en el directorio del proyecto, por lo que el código sólo a travésrequire ( 'expresar') de igual manera, sin especificar la ruta de acceso a paquetes de terceros.
var express = require('express');
instalación global y la instalación local
NPM paquete de instalación en una instalación local (local), la instalación mundial (global) son dos, llamo desde una línea de comandos, la única diferencia es que no hay -g solamente, tales como
npm install express # 本地安装 npm install express -g # 全局安装
Si el error siguiente:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
Solución:
$ npm config set proxy null
Instalación local
- 1. Coloque el paquete de instalación se coloca en los ./node_modules (directorio en el que el comando se ejecuta NPM), si no directorio node_modules generará en el directorio de ejecución de comandos NPM el directorio actual node_modules.
- 2. se puede introducir paquete instalado localmente a través de require ().
Instalación Global
- 1. Coloque el paquete de instalación se coloca en el directorio / usr / local o su nodo de directorio de instalación.
- 2. Se puede utilizar directamente en la línea de comandos.
Si usted quiere tener ambas funciones, es necesario instalarlo en dos lugares o el enlace NPM.
A continuación, utilizamos la instalación global express
$ npm install express -g
El proceso de instalación de la siguiente salida, la primera línea de salida de número de versión y la ubicación de instalación del módulo.
[email protected] node_modules/express ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected], [email protected]) └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
Se puede utilizar el siguiente comando para ver todos los módulos instalados a nivel mundial:
$ npm ls -g
uso package.json
package.json situado en el módulo de directorio, define las propiedades del paquete. Veamos el node_modules / expresa el contenido del archivo package.json paquete expreso situado / package.json:
{ "name": "express", "description": "Fast, unopinionated, minimalist web framework", "version": "4.13.3", "author": { "name": "TJ Holowaychuk", "email": "[email protected]" }, "contributors": [ { "name": "Aaron Heckmann", "email": "[email protected]" }, { "name": "Ciaran Jessup", "email": "[email protected]" }, { "name": "Douglas Christopher Wilson", "email": "[email protected]" }, { "name": "Guillermo Rauch", "email": "[email protected]" }, { "name": "Jonathan Ong", "email": "[email protected]" }, { "name": "Roman Shtylman", "email": "[email protected]" }, { "name": "Young Jae Sim", "email": "[email protected]" } ], "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/strongloop/express.git" }, "homepage": "http://expressjs.com/", "keywords": [ "express", "framework", "sinatra", "web", "rest", "restful", "router", "app", "api" ], "dependencies": { "accepts": "~1.2.12", "array-flatten": "1.1.1", "content-disposition": "0.5.0", "content-type": "~1.0.1", "cookie": "0.1.3", "cookie-signature": "1.0.6", "debug": "~2.2.0", "depd": "~1.0.1", "escape-html": "1.0.2", "etag": "~1.7.0", "finalhandler": "0.4.0", "fresh": "0.3.0", "merge-descriptors": "1.0.0", "methods": "~1.1.1", "on-finished": "~2.3.0", "parseurl": "~1.3.0", "path-to-regexp": "0.1.7", "proxy-addr": "~1.0.8", "qs": "4.0.0", "range-parser": "~1.0.2", "send": "0.13.0", "serve-static": "~1.10.0", "type-is": "~1.6.6", "utils-merge": "1.0.0", "vary": "~1.0.1" }, "devDependencies": { "after": "0.8.1", "ejs": "2.3.3", "istanbul": "0.3.17", "marked": "0.3.5", "mocha": "2.2.5", "should": "7.0.2", "supertest": "1.0.1", "body-parser": "~1.13.3", "connect-redis": "~2.4.1", "cookie-parser": "~1.3.5", "cookie-session": "~1.2.0", "express-session": "~1.11.3", "jade": "~1.11.0", "method-override": "~2.3.5", "morgan": "~1.6.1", "multiparty": "~4.1.2", "vhost": "~3.0.1" }, "engines": { "node": ">= 0.10.0" }, "files": [ "LICENSE", "History.md", "Readme.md", "index.js", "lib/" ], "scripts": { "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/", "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/", "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/", "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/" }, "gitHead": "ef7ad681b245fba023843ce94f6bcb8e275bbb8e", "bugs": { "url": "https://github.com/strongloop/express/issues" }, "_id": "[email protected]", "_shasum": "ddb2f1fb4502bf33598d2b032b037960ca6c80a3", "_from": "express@*", "_npmVersion": "1.4.28", "_npmUser": { "name": "dougwilson", "email": "[email protected]" }, "maintainers": [ { "name": "tjholowaychuk", "email": "[email protected]" }, { "name": "jongleberry", "email": "[email protected]" }, { "name": "dougwilson", "email": "[email protected]" }, { "name": "rfeng", "email": "[email protected]" }, { "name": "aredridel", "email": "[email protected]" }, { "name": "strongloop", "email": "[email protected]" }, { "name": "defunctzombie", "email": "[email protected]" } ], "dist": { "shasum": "ddb2f1fb4502bf33598d2b032b037960ca6c80a3", "tarball": "http://registry.npmjs.org/express/-/express-4.13.3.tgz" }, "directories": {}, "_resolved": "https://registry.npmjs.org/express/-/express-4.13.3.tgz", "readme": "ERROR: No README data found!" }
Descripción de la propiedad package.json
nombre - el nombre del paquete.
versión - el número de versión del paquete.
Descripción - descripción del paquete.
oficial paquete URL del sitio web- página de inicio.
autor - autor del nombre del paquete.
nombres de otros contribuyentes paquete- colaboradores.
- Lista dependenciasdependencias. Si las dependencias no están instalados, la NGP se instalará automáticamente los paquetes dependientes en el directorio node_module.
áreas de almacenamiento de tipo código de paquete, ya sea GIT o SVN, Git disponible en Github- repositorio.
principal - principal campo es un identificador de módulo, que es un puntero a un proyecto importante de su programa.Es decir, si pack nombre expresa, a continuación, al usuario instalar y, a continuación require ( "expresar").
palabras clave - palabras clave
módulo de descarga
Podemos utilizar el siguiente comando para desinstalar módulos Node.js.
$ npm uninstall express
Después de la desinstalación, puede ir al siguiente paquete / node_modules / catálogo está ahí, o que utilice el siguiente comando:
$ npm ls
Módulo de actualización
Podemos utilizar el siguiente comando para actualizar el módulo:
$ npm update express
Módulo de búsqueda
Utilice los siguientes módulos de búsqueda:
$ npm search express
Cree un módulo
Cree un módulo, archivo package.json es esencial. Podemos utilizar la NGP generar el archivo package.json, el archivo resultante contiene los resultados básicos.
$ npm init 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 <pkg> --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: (node_modules) w3big # 模块名 version: (1.0.0) description: Node.js 测试模块(w3big.com) # 描述 entry point: (index.js) test command: make test git repository: https://github.com/w3big/w3big.git # Github 地址 keywords: author: license: (ISC) About to write to ……/node_modules/package.json: # 生成地址 { "name": "w3big", "version": "1.0.0", "description": "Node.js 测试模块(w3big.com)", …… } Is this ok? (yes) yes
La información anterior, tiene que introducir su propia situación. Después de la entrada final "sí" va a generar el archivo package.json.
Entonces podemos usar el siguiente comando para usuarios registrados (uso del correo certificado) en el repositorio MNP:
$ npm adduser Username: mcmohd Password: Email: (this IS public) [email protected]
A continuación, se utiliza el siguiente comando para liberar el módulo:
$ npm publish
Si lo hace los pasos anteriores se hacen correctamente, puede utilizar el mismo con otros módulos para instalar la NGP.
El número de versión
NPM descargar y utilizar el código se dará a conocer cuando se expone al número de versión. NPM utilizando el número de la versión semántica de administrar el código, aquí brevemente.
versión semántica se divide en tres XYZ, que representa el número de versión mayor, menor número de versión y la versión del parche número. Cuando el cambio de código, el número de versión de la actualización de acuerdo con los siguientes principios.
- Si tan sólo correcciones de errores, es necesario actualizar el bit Z.
- Si usted es una característica nueva, pero compatible con versiones anteriores, se necesita actualizarse Y bits.
- Si hay grandes cambios, no hacia abajo compatibles, que necesita ser actualizado posición X.
Con esta seguridad después de que el número de versión, en un comunicado dependerá de paquetes de terceros, además de depender de un número de versión fija, pero también depende de una serie de números de versión. Por ejemplo "argv": "0.0.x" depende de la serie 0.0.x representa la versión más reciente de argv.
Todas las versiones compatibles con rango de números de orientación NPM puede ver la documentación oficial .
comandos comunes de la NGP
Además de la sección de este capítulo, la NGP también proporciona una gran cantidad de características, package.json también tiene muchos otros campos útiles.
Además de la npmjs.org/doc/ comprobar la documentación oficial, pero aquí están algunos de uso común comandos de la NGP.
NPM ofrece una gran cantidad de comandos, como instalar y publicar, con ayuda NPM para ver todos los comandos.
NPM ofrece una gran cantidad de comandos, como
install
ypublish
, connpm help
para ver todos los comandos.Utilice
npm help <command>
para ver la ayuda detallada para un comando, comonpm help install
.En
package.json
utilice el siguiente directorio denpm install . -g
Puede ser instalado localmente en el programa de línea de comando de la corriente que puede ser utilizado para la prueba local antes de la liberación.Utilice
npm update <package>
puede poner el directorio actualnode_modules
subdirectorio dentro del módulo corresponde a la última versión.Utilice
npm update <package> -g
puede corresponder a un programa de línea de comandos a nivel mundial la actualización a la última versión instalada.Usar
npm cache clear
puede borrar NPM caché local, para tratar con el mismo número de versión para una nueva liberación etiquetas.Utilice
npm unpublish <package>@<version>
> puede ser revocado Publicar lanzó una versión de su propio código.
Utilice espejo Taobao NGP
Todos sabemos que el uso directo interno de la NGP oficial espejo es muy lento, no se recomienda el uso del espejo Taobao NGP.
una imagen de espejo npmjs.org completa Taobao es NGP, puede utilizar esto en vez de la versión oficial (sólo lectura), sincronizando la frecuencia de 10 minutos con el fin de garantizar en la medida de lo posible sincronizar con el servicio oficial.
Puede utilizar Taobao CNPM personalizado (soporte de compresión gzip) herramienta de línea de comandos en lugar de la NPM por defecto:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
Este módulo puede instalarse utilizando comandos CNPM:
$ cnpm install [name]
Más información se puede encontrar: http://npm.taobao.org/ .