Cambie el directorio de instalación global predeterminado para node.¿módulos js en Windows?


En mi instalación de windows PATH incluye C:\Program Files\nodejs, donde se encuentra el ejecutable node.exe. Soy capaz de lanzar node desde el shell, así como npm. Me gustaría que también se instalaran nuevos ejecutables en C:\Program Files\nodejs, pero parece imposible de lograr.

Establecer NODE_PATH y NODE_MODULES variables no cambia nada: las cosas siguen instaladas en %appdata%\npm por defecto.

¿Cómo puedo cambiar la ruta de instalación global?

 95
Author: gremo, 2013-11-09

11 answers

Todo lo que necesitas es leer npm-folders documentación. No quiero iniciar mi notebook Win ahora, así que no puedo verificarlo, pero solo debes cambiar prefix a c:\Program Files\nodejs en tu archivo de configuración. Si desea cambiarlo globalmente para todos los usuarios, edite el archivo c:\Program Files\nodejs\npmrc, de lo contrario cree/edite c:\Users\{username}\.npmrc.

Pero este cambio probablemente tendrá algunos efectos secundarios, así que lea esta discusión antes. Creo que tu idea no es buena.

 60
Author: ivoszz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-24 08:53:47

Tratar de instalar paquetes globales en C:\Program Files (x86)\nodejs\ me dio Ejecutar como Administrador problemas, porque npm estaba tratando de instalar en
C:\Program Files (x86)\nodejs\node_modules\

Para resolver esto, cambie el directorio de instalación global a C:\Users\{username}\AppData\Roaming\npm:

En C:\Users\{username}\, crea .npmrc un archivo con el contenido:

prefix = "C:\\Users\\{username}\\AppData\\Roaming\\npm"

referencia

medio ambiente
instalador de nodejs x86 en C:\Program Files (x86)\nodejs\ en Windows 7 Ultimate N 64-bit SP1
node --version : v0.10.28
npm --version : 1.4.10

 56
Author: Jake Berger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-10 20:38:18

Puedes ver mi respuesta a esto en mi respuesta a otra pregunta.


En Windows, la ruta de instalación global está en realidad en el directorio del perfil de usuario

  • %USERPROFILE%\AppData\Roaming\npm
  • %USERPROFILE%\AppData\Roaming\npm-cache
  • ADVERTENCIA: Si está realizando eventos temporizados u otra automatización como un usuario diferente, asegúrese de ejecutar npm install como ese usuario. Algunos módulos / utilidades deben instalarse globalmente.
  • ERRORES DEL INSTALADOR: Es posible que tenga que crear estos directorios o agregue el directorio ...\npm a su ruta de usuario usted mismo.

Para cambiar la ubicación "global" para todos los usuarios a una ubicación global compartida más apropiada %ALLUSERSPROFILE%\(npm|npm-cache) (haga esto como administrador):

  • crear un directorio [NODE_INSTALL_PATH]\etc\
    • esto es necesario antes de intentar npm config --global ... acciones
  • crear la (s) ubicación (es) global (administrativa) para los módulos npm
    • C:\ProgramData\npm-cache - los módulos npm irán aquí
    • C:\ProgramData\npm - scripts binarios para instalar globalmente los módulos irán aquí
    • C:\ProgramData\npm\node_modules - los módulos instalados globalmente irán aquí
    • establezca los permisos apropiadamente
      • administradores: modificar
      • usuarios autenticados: leer / ejecutar
  • Establecer la configuración global (Símbolo del sistema del Administrador)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Agregue C:\ProgramData\npm a la variable de entorno Path de su sistema

Si desea cambiar el ubicación "global" a %LOCALAPPDATA%\(npm|npm-cache) ruta en su lugar:

  • Crear los directorios necesarios
    • C:\Users\YOURNAME\AppData\Local\npm-cache - los módulos npm irán aquí
    • C:\Users\YOURNAME\AppData\Local\npm - los scripts binarios para los módulos instalados irán aquí
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - los módulos instalados globalmente irán aquí
  • Configurar npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Agregue la nueva ruta npm a PATH de su entorno.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"
 52
Author: Tracker1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:03:02

Basándose en el concepto de instalación de chocolatey y la idea sugerida por @Tracker, lo que funcionó para mí fue hacer lo siguiente y todos los usuarios en Windows estaban felices trabajando con nodejs y npm.

Elija C:\ProgramData\nodejs como directorio de instalación para nodejs e instale nodejs con cualquier usuario que sea miembro del grupo administrador.

Cree una carpeta llamada npm-cache en la raíz del directorio de instalación, que después de lo siguiente sería C:\ProgramData\nodejs\npm-cache.

Crear un carpeta llamada etc en la raíz del directorio de instalación, que después de seguir arriba sería C:\ProgramData\nodejs\etc.

Establece NODE variable de entorno como C:\ProgramData\nodejs.

Establece NODE_PATH variable de entorno como C:\ProgramData\nodejs\node_modules.

Asegúrese de que la variable de entorno %NODE% creada anteriormente se agrega (o su ruta) se agrega a la variable de entorno %PATH%.

Editar %NODE_PATH%\npm\npmrc con el siguiente contenido prefix=C:\ProgramData\nodejs

Desde el símbolo del sistema, establezca la configuración global como tan...

npm config --global set prefix "C:\ProgramData\nodejs"

npm config --global set cache "C:\ProgramData\nodejs\npm-cache"

Es importante que los pasos anteriores se lleven a cabo preferiblemente en secuencia y antes de actualizar npm (npm -g install npm@latest) o intentar instalar cualquier módulo npm.

Realizar los pasos anteriores nos ayudó a ejecutar nodejs como instalación en todo el sistema, fácilmente disponible para todos los usuarios con los permisos adecuados. Cada usuario puede ejecutar node y npm según sea necesario.

 17
Author: Damilola,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-06 09:57:38

Debe usar este comando para establecer la flocación de instalación global de paquetes npm

(git bash) npm config --global set prefix </path/you/want/to/use>/npm

(cmd/git-cmd) npm config --global set prefix <drive:\path\you\want\to\use>\npm

También puede considerar la ubicación npm-cache justo al lado. (como sería en una instalación normal de nodejs en windows)

(git bash) npm config --global set cache </path/you/want/to/use>/npm-cache

(cmd/git-cmd) npm config --global set cache <drive:\path\you\want\to\use>\npm-cache

 8
Author: davejoem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 21:10:23

La carpeta global predeterminada es C:\Users\{username}\AppData\Roaming\npm. Puede crear (si no existe) un archivo .npmrc en C:\Users\{username}\ y agregar prefix = "path\\to\\yourglobalfolder". Tenga en cuenta que, en Windows, la ruta debe estar separada por double back-slash.

 4
Author: angeldsWang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-19 01:44:12

Usando un enlace simbólico de Windows desde C:\Users{nombre de usuario} \ AppData \ Roaming\npm y C:\Users{username}\AppData\Roaming\npm-cache las rutas al destino me funcionaron muy bien.

Cómo añadir un enlace simbólico

introduzca la descripción de la imagen aquí

 3
Author: wchoward,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-08 00:00:34

En Windows, si desea mover la carpeta npm o nodejs en el disco C a otra ubicación, pero todavía se asegura de que node y npm funcionen bien, puede crear un enlace simbólico como este: Abrir Símbolo del sistema:

mklink /D "your_location_want_to_create_symlink" "location_of_node_npm_file"

Ejemplo:

mklink /D "C:\Users\MyUser\AppData\Roaming\npm" "D:\Nodejs Data\npm"

Ahora que ha creado un enlace simbólico para la carpeta npm, este enlace simbólico se referirá a D:\Nodejs Data\npm Todo funcionará bien.

 1
Author: Vinh Trieu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-07 16:05:16

He intentado la mayoría de las respuestas aquí nada parece funcionar en mi caso. Así que cambié la ubicación Temporal en mis variables env a C:\npm. Entonces empezó a funcionar. Esta no es una buena idea, sino una solución temporal.

 0
Author: Manoj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-26 18:32:55

Elimine completamente la carpeta del nodo de la carpeta del archivo del programa. Desinstalar nodo.js y luego reinstalarlo. cambiar la ruta de la variable de entorno PATH. eliminar .archivo npmrc de C:\users\yourusername

 0
Author: Santosh Kadam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-05 12:06:52

No requiere muchas configuraciones simplemente vaya a configuración avanzada del sistema copie la ruta donde ha instalado su nodo y simplemente cree una variable de entorno y verifique con el comando node-v en su solicitud.

 0
Author: Animesh Saxena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-19 04:35:23