2011-04-28 37 views

Respuesta

316

Si desea instalar un módulo de NPM a nivel mundial, asegúrese de utilizar la nueva bandera -g, por ejemplo:

npm install forever -g

Las recomendaciones generales relativas a la instalación del módulo NPM ya 1.0rc (tomado de blog.nodejs.org):

  • Si va a instalar algo que desea utilizar en su programa, utilizando require ('lo que sea'), y luego instalarlo localmente, en la raíz de su proyecto .
  • Si va a instalar algo que desea utilizar en su concha, en la línea de comandos o algo , instalación globalmente, de manera que sus binarios terminan en su entorno PATH variable.

Acabo de utilizar estas recomendaciones recientemente y ha ido bastante bien. Instalé para siempre de forma global (ya que es una herramienta de línea de comandos) y todos mis módulos de aplicaciones a nivel local.

Sin embargo, si desea utilizar algunos módulos a nivel mundial (es decir, expresar o mongodb), tome este consejo (también tomada de blog.nodejs.org):

Por supuesto, hay algunos casos en los que que quiere hacer ambos. Coffee-script y Express ambos son buenos ejemplos de aplicaciones que tienen una interfaz de línea de comandos, como , así como una biblioteca. En esos casos, puede hacer uno de los siguientes:

  • Instalar en ambos lugares. En serio, ¿tienes tan poco espacio en el disco ? Está bien, de verdad. Son pequeños programas de JavaScript .
  • instalarlo en todo el mundo, y luego enlace NPM coffeescript o vínculo NPM expresan (si estás en una plataforma que apoya enlaces simbólicos.) A continuación, sólo tiene que actualizar la copia global para actualizar toda los enlaces simbólicos también.

La primera opción es la mejor en mi opinión . Simple, claro, explícito. El segundo es realmente útil si es va a volver a utilizar la misma biblioteca en un grupo de diferentes proyectos. (Más sobre enlace NPM en una futura entrega.)

no he probado una de esas variaciones, pero parecen ser bastante sencillo.

+6

Gracias por las aclaraciones. Isaacs debería reemplazar todo el npm manfile y git wiki con el texto anterior. Podría aclarar la confusión masiva. –

+0

shweeet. Esto fue útil, me atrapó este cambio. En algún momento, la instalación de npm dio acceso a la línea de comandos, luego se desvaneció y no estaba siguiendo el proyecto lo suficiente para atrapar la transición. –

+0

Esto explica por qué tuve un módulo de nodo en mi directorio de configuración de Apache. . . –

-5

Puede que no tenga permiso de escritura para instalar un módulo de nodo en la ubicación global como /usr/local/lib/node_modules, en cuyo caso la NGP ejecutar instalar - g paquete como raíz.

8

En un Mac, encontré la salida contenía la información que estaba buscando:

$> npm install -g karma 
... 
... 
> [email protected] install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 
... 
$> ls /usr/local/share/npm/bin 
karma nf 

Después de añadir /usr/local/share/npm/bin a la línea export PATH en mi .bash_profile, guardarlo, y source ing, yo era capaz de ejecutar

$> karma --help 

normalmente.

Cuestiones relacionadas