node instalar bootstrap bodyparser javascript node.js npm packages npm-install

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