Узел nodejs npm отсутствует в Windows
Я не могу найти вообще, где npm хранит свои глобальные настройки.
npm config get userconfig
C:\Users\Jack\.npmrc
npm config get globalconfig
C:\Users\Jack\AppData\Roaming\npm\etc\npmrc
Нет файлов ни на одном из этих путей, но
npm config get proxy
- > возвращает мой URL-адрес прокси для работы. который я хочу удалить.
npm config -g удалить прокси
npm ERR! Error: ENOENT, unlink 'C:\Users\Jack\AppData\Roaming\npm\etc\npmrc'
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "config" "-g" "delete" "proxy"
npm ERR! cwd C:\f\Dropbox\apps
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! path C:\Users\Jack\AppData\Roaming\npm\etc\npmrc
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\f\Dropbox\apps\npm-debug.log
npm ERR! not ok code 0
Ответы
Ответ 1
Похоже, что файлы npm
, используемые для редактирования его конфигурационных файлов, не создаются при чистой установке, так как npm
имеет параметр по умолчанию для каждого из них. Вот почему вы все еще можете получить опции с npm config get <option>
: если эти файлы только переопределяют значения по умолчанию, они не создают параметры с нуля.
Я до сих пор не трогал мои вещи npm config
, хотя у меня это было уже несколько месяцев. Ни один из файлов еще не был, например ~/.npmrc
(на машине с Windows 8.1 с Git Bash
), но я мог запустить npm config get <something>
, и если это была правильная опция npm
, она вернула значение. Когда я запустил npm config set <option> <value>
, файл ~/.npmrc
, казалось, был создан автоматически, с опцией и ее значением как единственной некомментированной линией.
Как и для удаления параметров, похоже, что это просто возвращает значение по умолчанию или ничего не делает, если этот параметр никогда не был установлен или был отменен, и никогда reset. Кроме того, если этот параметр является единственным явно установленным вариантом, похоже, что ~/.npmrc
также удаляется и воссоздается, если вы set
что-нибудь еще позже.
В вашем случае (при условии, что он все тот же год спустя), похоже, что вы никогда не устанавливали опцию proxy
в npm
. Поэтому, как говорится в справочной странице npm
config
, она настроена на любую переменную среды http_proxy
(без учета регистра). Это означает, что ничего не нужно delete
, если вы не хотите "удалять" свой прокси-сервер HTTP, хотя вы могли бы set
параметр или переменную среды на что-то еще и надеяться, что каким-либо образом не сломает вашу настройку.
Ответ 2
Существует проблема с обновлением npm под Windows. Начальная установка, выполненная как часть установки nodejs с использованием пакета msi, создаст файл npmrc:
C:\Program Files\nodejs\node_modules\npm\npmmrc
когда вы обновляете npm, используя:
npm install -g [email protected]
он установит новую версию в:
C:\Users\Jack\AppData\Roaming\npm
при условии, что вас зовут Джек, это% APPDATA%\npm.
Новая установка не включает файл npmrc, и без него глобальный корневой каталог будет зависеть от того, откуда был запущен узел, поэтому это C:\Program Files\nodejs\node_modules
Вы можете проверить это, запустив:
npm root -g
Это не будет работать, так как npm не имеет разрешения на запись в каталог "Program Files"
. Вам необходимо скопировать файл npmrc из исходной установки в новую установку. По умолчанию файл имеет только строку ниже:
prefix=${APPDATA}\npm
Это описано здесь: https://github.com/npm/npm/wiki/Устранение неполадок
Ответ 3
Для меня (находящегося в Windows 10) файл npmrc располагался в:
%USERPROFILE%\.npmrc
Протестировано с помощью
- npm v4.2.0
- Node.js v7.8.0
Ответ 4
Вы пытались запустить npm config list
? И, если вы хотите увидеть значения по умолчанию, запустите npm config ls -l
.
Ответ 5
Как это понять
Начните с npm root
- он покажет вам корневую папку для пакетов NPM для текущего пользователя.
Добавьте -g
, и вы получите глобальную папку. Не забудьте вычесть node_modules
.
Используйте npm config
/npm config -g
и убедитесь, что он создаст для вас новый файл .npmrc
/npmrc
.
Протестировано на Windows 10 Pro, NPM v.6.4.1:
Глобальная конфигурация NPM
C:\Users\%username%\AppData\Roaming\npm\etc\npmrc
Конфигурация NPM для каждого пользователя
C:\Users\%username%\.npmrc
Встроенная конфигурация NPM
C:\Program Files\nodejs\node_modules\npm\npmrc
Ссылки:
Ответ 6
Разве это не тот путь, который вы ищете?
C:\Program Files\nodejs\node_modules\npm\npmmrc
Я знаю, что npm выдает это, но глобальная папка - это папка, в которой установлена node.js, и все модули.
Ответ 7
Даже если у нас есть .NPMRC может быть в 3 местах,
ОБРАТИТЕ ВНИМАНИЕ: файл в папке конфигурации NPM для каждого пользователя имеет приоритет над глобальным & Встроенные конфигурации.
- Глобальная конфигурация NPM => C:\Users\%username%\AppData\Roaming\npm\etc\npmrc
- Конфигурация NPM для пользователя => C:\Users\%username%.npmrc
- Встроенная конфигурация NPM => C:\Program Files\nodejs\node_modules\npm\npmrc
Чтобы узнать, какой файл обновляется, попробуйте настроить прокси с помощью следующей команды Конфигурация npm установлена https-прокси https://username:[email protected]:6050
После этого откройте файлы .npmrc, чтобы увидеть, какой файл обновляется.