ultima scripts que instalar example deployment node.js dependencies npm

deployment - scripts - ¿Cómo instalo las dependencias de package.json en el directorio actual usando npm?



package.json que es (2)

Tengo una aplicación web: fooapp . Tengo un package.json en la raíz. Quiero instalar todas las dependencias en un node_modules directory específico. ¿Cómo hago esto?

Lo que quiero

Digamos que tengo dos dependencias de widget . Quiero terminar con una estructura de directorios como esta:

node_modules/ widgetA widgetB fooapp/ package.js lib ..

Lo que consigo

cuando ejecuto npm install fooapp/ obtengo esto:

node_modules/ fooapp/ node_modules/ widgetA widgetB package.js lib/ .. fooapp/ package.js lib/ ..

npm hace una copia de mi directorio de aplicaciones en el directorio node_modules e instala los paquetes dentro de otro directorio node_modules.

Entiendo que esto tiene sentido para instalar un paquete. Pero no require() mi aplicación web dentro de otra cosa, la ejecuto directamente. Estoy buscando una manera simple de instalar mis dependencias en un directorio node_modules específico.


Corriendo:

npm install

desde dentro del directorio de su aplicación (es decir, donde se encuentra package.json) instalará las dependencias para su aplicación, en lugar de instalarlo como un módulo, como se describe aquí . Estos se colocarán en ./node_modules relativo a su archivo package.json (en realidad es un poco más complejo que este, así que consulte los documentos npm aquí ).

Si lo desea, puede mover el directorio node_modules al directorio padre de su aplicación, porque el mecanismo ''require'' del nodo entiende esto. Sin embargo, si desea actualizar las dependencias de su aplicación con la instalación / actualización, npm no verá los ''node_modules'' reubicados y en su lugar creará un nuevo directorio, nuevamente en relación con package.json.

Para evitar esto, solo crea un enlace simbólico a los node_modules reubicados desde el directorio de tu aplicación:

ln -s ../node_modules node_modules


En mi caso, necesito hacer

sudo npm install

mi proyecto está dentro de / var / www, así que también necesito configurar los permisos adecuados.