javascript - bootstrap - ¿Instalar un módulo local usando npm?
npm bodyparser (4)
Dado que fue preguntado y respondido por la misma persona, agregaré un enlace de npm como alternativa.
desde docs:
Esto es útil para instalar tus propias cosas, para que puedas trabajar en ellas y probarlas de forma iterativa sin tener que reconstruirlas continuamente.
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
[Editar] A partir de NPM 2.0, puede declarar dependencias locales en package.json
"dependencies": {
"bar": "file:../foo/bar"
}
Tengo un módulo de descarga descargado, ¿quiero instalarlo localmente, no globalmente en otro directorio?
¿Qué es una manera fácil de hacer esto?
De la documentación de npm-link :
En el directorio del módulo local:
$ cd ./package-dir
$ npm link
En el directorio del proyecto para utilizar el módulo:
$ cd ./project-dir
$ npm link package-name
O de una sola vez, usando caminos relativos:
$ cd ./project-dir
$ npm link ../package-dir
Esto es equivalente a usar dos comandos debajo del capó.
Ninguno de estos enfoques ( npm link o package.json file dependency) funciona si el módulo local tiene dependencias de iguales que solo desea instalar en el ámbito de su proyecto.
Por ejemplo:
/local/mymodule/package.json:
"name": "mymodule",
"peerDependencies":
{
"foo": "^2.5"
}
/dev/myproject/package.json:
"dependencies":
{
"mymodule": "file:/local/mymodule",
"foo": "^2.5"
}
En este escenario, npm configura los node_modules/ myproject ''s como esto:
/dev/myproject/node_modules/
foo/
mymodule -> /local/mymodule
Cuando el nodo carga mymodule y require(''foo'') , node resuelve el enlace simbólico mymodule , y luego solo busca en /local/mymodule/node_modules/ (y sus ancestros) para foo , que no encuentra. En su lugar, queremos que el nodo busque en /local/myproject/node_modules/ , ya que es desde donde /local/myproject/node_modules/ nuestro proyecto y donde está instalado foo .
Entonces, o bien necesitamos una forma de decirle al nodo que no resuelva este enlace simbólico cuando busquemos foo , o necesitamos una forma de decirle a npm que instale una copia de mymodule cuando se usa la sintaxis de dependencia de archivos en package.json . Tampoco he encontrado la manera de hacerlo, por desgracia :(
simplemente proporciona un argumento <folder> a npm install , el argumento debería a la carpeta local en lugar del nombre del paquete:
npm install /path