Изменить каталог глобальной установки по умолчанию для node.js модулей в Windows?

В моей установке windows PATH есть C:\Program Files\nodejs, где выполняется исполняемый файл node.exe. Я могу запустить node из оболочки, а также npm. Я бы хотел, чтобы новые исполняемые файлы также были установлены в C:\Program Files\nodejs, но это невозможно сделать.

Параметры NODE_PATH и NODE_MODULES не меняют ничего: по умолчанию все еще установлены в %appdata%\npm.

Как изменить глобальный путь установки?

Ответ 1

Все, что вам нужно, это прочитать документацию npm-folders. Я не хочу запускать свой ноутбук Win, поэтому я не могу его проверить, но вы должны только изменить prefix на c:\Program Files\nodejs в вашем файле конфигурации. Если вы хотите изменить его глобально для всех пользователей, отредактируйте файл c:\Program Files\nodejs\npmrc, в противном случае создайте/отредактируйте c:\Users\{username}\.npmrc.

Но это изменение, вероятно, будет иметь некоторые побочные эффекты, поэтому прочитайте это обсуждение раньше. Я думаю, что твоя идея не очень хорошая.

Ответ 2

попытка установить глобальные пакеты в C:\Program Files (x86)\nodejs\ предоставила мне Запуск от имени администратора, потому что npm пыталась установить в
C:\Program Files (x86)\nodejs\node_modules\

чтобы устранить это, измените каталог глобальной установки на C:\Users\{username}\AppData\Roaming\npm:

в C:\Users\{username}\, создайте файл .npmrc с содержимым:

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

ссылка

среда
Установщик nodejs x86 в C:\Program Files (x86)\nodejs\ в Windows 7 Ultimate N 64-бит SP1
node --version: v0.10.28
npm --version: 1.4.10

Ответ 3

Вы можете увидеть мой ответ на этот вопрос в ответе на другой вопрос.


В Windows глобальный путь установки фактически находится в вашем каталоге профиля пользователя

  • %USERPROFILE%\AppData\Roaming\npm
  • %USERPROFILE%\AppData\Roaming\npm-cache
  • ПРЕДУПРЕЖДЕНИЕ. Если вы выполняете синхронизированные события или другую автоматизацию в качестве другого пользователя, убедитесь, что вы запустили npm install в качестве этого пользователя. Некоторые модули/утилиты должны быть установлены глобально.
  • УБОРКИ УСТАНОВЩИКА: Возможно, вам придется создавать эти каталоги или добавлять каталог ...\npm к вашему пути пользователей самостоятельно.

Чтобы изменить "глобальное" местоположение для всех пользователей на более подходящее общее глобальное местоположение %ALLUSERSPROFILE%\(npm|npm-cache) (сделайте это как администратор):

  • создать каталог [NODE_INSTALL_PATH]\etc\
    • это необходимо, прежде чем пытаться выполнить действия npm config --global ...
  • создать глобальное (административное) местоположение для модулей npm
    • C:\ProgramData\npm-cache - здесь будут доступны модули npm
    • C:\ProgramData\npm - здесь будут присутствовать двоичные скрипты для глобальных модулей.
    • C:\ProgramData\npm\node_modules - здесь будут установлены глобально установленные модули.
    • установите соответствующие разрешения
      • Администраторы
      • : измените
      • аутентифицированные пользователи: чтение/выполнение
  • Установить глобальные параметры конфигурации (Командная строка администратора)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Добавить C:\ProgramData\npm в переменную окружения System Path

Если вы хотите изменить свое "глобальное" местоположение пользователя на %LOCALAPPDATA%\(npm|npm-cache) путь:

  • Создайте необходимые каталоги
    • C:\Users\YOURNAME\AppData\Local\npm-cache - здесь будут модули npm.
    • C:\Users\YOURNAME\AppData\Local\npm - здесь будут бинарные скрипты для установленных модулей
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - здесь будут установлены глобально установленные модули.
  • Настроить npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Добавьте новый путь npm к вашей среде PATH.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

Ответ 4

Основываясь на концепции установки chocolatey и идее, предложенной @Tracker, для меня работала следующая: и все пользователи на окнах были довольны работой с nodejs и npm.

Выберите C:\ProgramData\nodejs в качестве установочного каталога для nodejs и установите nodejs любым пользователем, являющимся членом группы администраторов.

Создайте папку с именем npm-cache в корне каталога установки, которая после следующего выше будет C:\ProgramData\nodejs\npm-cache.

Создайте папку с именем etc в корне каталога установки, которая после следующего выше будет C:\ProgramData\nodejs\etc.

Задайте переменную окружения NODE как C:\ProgramData\nodejs.

Задайте переменную окружения NODE_PATH как C:\ProgramData\nodejs\node_modules.

Убедитесь, что добавлена ​​переменная среды %NODE%, ранее созданная выше (или ее путь) добавлена ​​в переменную среды %PATH%.

Измените %NODE_PATH%\npm\npmrc следующим контентом prefix=C:\ProgramData\nodejs

Из командной строки установите глобальную конфигурацию так:

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

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

Важно, чтобы описанные выше шаги выполнялись предпочтительно последовательно и до обновления npm (npm -g install [email protected]) или пытались установить любой модуль npm.

Выполнение вышеуказанных шагов помогло нам запустить nodejs как системную установку, легко доступную всем пользователям с надлежащими разрешениями. Затем каждый пользователь может выполнить NODE и npm по мере необходимости.

Ответ 5

Вы должны использовать эту команду для установки глобальной установки пакетов 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

Вы также можете рассмотреть расположение npm-cache рядом с ним. (как это было бы при нормальной установке nodejs на 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

Ответ 6

Глобальная папка по умолчанию C:\Users\{username}\AppData\Roaming\npm. Вы можете создать (если он не существует) файл .npmrc в C:\Users\{username}\ и добавить prefix = "path\\to\\yourglobalfolder". Обратите внимание, что в окнах путь должен быть разделен на double back-slash.

Ответ 7

Использование символической ссылки Windows из путей C:\Users {username}\AppData\Roaming\npm и C:\Users {username}\AppData\Roaming\npm-cache к месту назначения отлично поработало для меня.

Как добавить символическую ссылку

введите описание изображения здесь

Ответ 8

В Windows, если вы хотите переместить папку npm или nodejs на диск C в другое место, но она по-прежнему гарантирует, что node и npm работают хорошо, вы можете создать символическую ссылку следующим образом: Открыть командную строку:

mklink /D "your_location_want_to_create_symlink" "location_of_node_npm_file"

Пример:

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

Теперь вы создали символическую ссылку для папки npm, эта символическая ссылка будет ссылаться на D:\Nodejs Data\npm Все будет работать хорошо.

Ответ 9

Я попробовал большинство ответов здесь, кажется, ничего не работает в моем случае. Поэтому я изменил местоположение Temp в моих переменных env на C:\npm. Затем он начал работать. Это не очень хорошая идея, но временное решение.

Ответ 10

Удалить папку узла полностью из папки файла программы. Удалите node.js, а затем переустановите его. change Путь переменной окружения PATH. удалить файл.npmrc из C:\users\yourusername

Ответ 11

он не требует много конфигураций, просто перейдите к расширенным системным настройкам, скопируйте путь, где вы установили свой узел, и просто создайте переменную окружения и проверьте с помощью команды -v в своем приглашении!

Ответ 12

Чтобы изменить глобальный каталог установки по умолчанию для модулей node.js(npm) в Windows, необходимо исправить 2 пути.

Сначала проверьте текущий путь, где устанавливаются модули узлов, когда вы пытаетесь установить их глобально, используя следующую команду:

список npm -g --depth = 0

Он вернет вам текущий путь, где устанавливаются модули узлов прямо сейчас. Пример: D:\vsc\typescript

Теперь перейдите по следующему пути, чтобы увидеть папки npm и npm-cache. C:\Users\имя пользователя (ИЛИ номер)\AppData\Roaming

В папке Roaming вашего диска C вы найдете папки npm и npm-cache. Нажмите на папку + npm + и выберите путь [Просто нажмите на путь панели будет выбран автоматически, скопируйте его]. Это путь, который вам нужно выбрать

После того, как вы скопируете этот путь, установите его для переменных среды с именем переменной Path (все, что вы можете выбрать в качестве имени). Теперь вы установили путь к вашей папке npm, теперь пришло время установить префикс. Зайдите в папку npm и проверьте, существует ли папка node_module, если нет, создайте новую папку с именем node_modules. Вы все глобальные модули попадете в эту папку после выполнения всех шагов.

Заключительный шаг: перейдите к CMD и введите следующую команду:

npm установленный префикс C:\Users\имя пользователя (число)\AppData\Roaming\npm\node_modules

Опять же, это тот же путь, который мы выбрали для переменной среды, мы просто добавляем еще одну папку в путь, и это node_module.

Все установлено.... Попробуйте сейчас... Это будет работать..

Ответ 13

Найдите текущий путь установки пакета глобального узла, выполнив следующую команду.

список npm -g --depth = 0

Измените этот путь на правильный путь с помощью следующей команды.

npm установленный префикс C:\Users\имя пользователя (число)\AppData\Roaming\npm\node_modules

Это сработало для меня. Прочитайте мой предыдущий ответ для лучшего понимания.

Ответ 14

  • Шаг 1: npm config get prefix

    • Путь по умолчанию: %USERPROFILE%\AppData\Roaming\npm
  • Шаг 2: npm config get cache

    • Путь по умолчанию: %USERPROFILE%\AppData\Roaming\npm-cache
  • Шаг 3: npm config set prefix <Your New Location>\npm

    • пример npm config set prefix C:\\dev\\node\\npm
  • Шаг 4: npm config set cache <Your New Location>\npm-cache

    • пример npm config set cache C:\\dev\\node\\npm-cache

    Выполните шаги 1 и 2 еще раз, чтобы проверить, обновляются ли пути по мере необходимости

    Это оно. Всякий раз, когда вы устанавливаете глобальные пакеты, вы должны видеть, что они установлены внутри \npm\node_modules