He buscado en la página de módulos de wiki, pero no encuentro nada parecido a virtualenv (python) o rvm.¿hay un entorno virtual para node.js?
¿Alguien aquí separa node.js en su propio env? Realmente no me gusta instalar npm en todo el sistema.
He buscado en la página de módulos de wiki, pero no encuentro nada parecido a virtualenv (python) o rvm.¿hay un entorno virtual para node.js?
¿Alguien aquí separa node.js en su propio env? Realmente no me gusta instalar npm en todo el sistema.
Si tener paquetes de npm para todo el sistema es su principal problema, entonces tal vez considere usar el genial comando 'bundle' con npm. Esto está más cerca de congelar gemas o usar bundler en rieles, en lugar de rvm.
Es super fácil. Basta con crear un archivo package.json:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
y luego ejecutar:
npm bundle vendor
o si su versión de la NGP es> = 1,0 plazo:
npm install
a congelar en el directorio de proveedores . y luego usar:
require.paths.unshift('./vendor');
Hay también algunos sistemas de gestión de versiones de nodo que pueden ayudar.
Salida Nave https://github.com/isaacs/nave
NVM también podría utilizarse https://github.com/creationix/nvm
También hay una llama n respuesta https://github.com/visionmedia/n
Nvm funciona muy bien si solo desea tener varias versiones de node.js y npm instaladas al mismo tiempo. Por lo demás, me pareció suficiente tener instalados los módulos necesarios para el directorio del proyecto con npm. –
Si está buscando 'nvm' o' n' y desea cambiar automáticamente de directorio, consulte 'avn': https://github.com/wbyoung/avn – wbyoung
de bxjx es conceptualmente precisa. Sin embargo, tenga en cuenta que el comando paquete ya no toma un directorio. Es siempre coloca paquetes en la carpeta node_modules
, de modo que npm sabe dónde encontrarlos más tarde (y puede evitar la doble instalación de dependencias).
Cualquier solución probablemente implicará la instalación de la NGP y la nave "en todo el sistema" (es decir, en su PATH
, que podría estar en algún lugar ~
), pero entonces sólo la instalación de sus dependencias específicas en el entorno virtual.
Respondí más detalladamente on the github issue.
tl; dr: El caso de uso es válido y útil, y aunque está principalmente allí, no está tan bien servido como podría ser. Debemos asegurarnos de pensarlo bien y hacerlo bien.
nodeenv - entorno virtual para Node.js (analógicos) virtualenv
Esto se veía muy bien al inicio, pero yo no se pudo realizar la instalación de npm con nodeenv al mismo tiempo que node.js se compila (en osx Lion). Probablemente podría haber usado nvm install e instalar npm por separado para cada nodeenv ... cuando pensé en probarlo, ya tenía varias versiones de nodos con otros medios. –
Se puede usar para instalar _within_ un entorno virtual de Python existente, de modo que el entorno 'node.js' se active junto con el entorno de Python. Ver ['nodeenv -p'] (https://github.com/ekalinin/nodeenv). – naitsirhc
nodeenv (en realidad, virtualenv + nodeenv) también es apto para usuarios de cáscaras de pescado, ya que nave y otros no admiten otras conchas que bash y zsh. – akarca
Si te gusta lo simple, yo verdaderamente recomiendo Visionmedia de n, no podía ser más fácil!
se ve que hay una mejor manera:
Installing Node.js and npm into a Python Virtualenv
ahora puedo usar herramientas de nodos sin ensuciar el medio ambiente mundial bin
No siempre es necesario instalar las dependencias globalmente Por lo general, se recomienda porque puede usar los comandos que proporciona un paquete npm, pero si lo instala localmente (en el directorio node_modules
), también puede usar estos comandos, que terminan en el directorio node_modules/.bin/
, por lo que tendrá que node_modules/.bin/<command>
escribir, lo cual es molesto, pero por supuesto puede agregar esta ruta de acceso a la variable de entorno PATH
:
export PATH=node_modules/.bin:$PATH
a continuación, puede simplemente escribir <command>
y funciona!
De hecho, hay un comando de NPM que devuelve una ruta absoluta al directorio .bin
:
$ npm bin
/path/to/node_modules/.bin
Este comando también funciona cuando se está en un subdirectorio del proyecto, devolverá el primer node_modules/.bin
directorio que encuentra en sus directorios principales.
Puede agregar este alias en su .bashrc
para añadir automáticamente el directorio .bin/
a su PATH
:
alias nodebin='export PATH=$(npm bin):$PATH'
Así que cuando estás en un directorio de un proyecto que tiene un directorio node_modules/
en la raíz, puede escribir nodebin
y luego puede usar todos los comandos que están en el directorio .bin/
!
Creo que no tiene sentido trabajar en el entorno de nodo sin un nodo instalado. ¡Es como si no hubieras instalado python y pip cuando quieres trabajar en un proyecto de Python! por supuesto, para usar virtualenv y virtualenvwrapper el requisito previo es python.
Si desea trabajar en un proyecto Node es realmente normal instalar node y npm al menos.
Si solo desea ejecutar un proyecto de Python en la web (por ejemplo, con Django), puede usar la versión de compilación del archivo javascript y cargar este archivo en su proyecto.
paquete npm no funciona. No se reconoce como un comando – andho
@andho No lo he probado yo mismo, pero entiendo que las versiones recientes de NPM simplemente usan 'npm install' para esto. –
Probado y confirmado ahora. 'npm install' reemplazó' paquete npm' a partir de NPM 1.0, creo. –