How to restore/reset npm configuration to default values?

I have played with npm set and npm config set for several times, now I want to reset to default values (a kind of factory reset).

Does npm provide a command to do that? Or should I delete all configuration files by hands then reinstall it?

I need to do it both on Linux CentOS and on Windows 8.

222923 次浏览

如果您运行 npm config edit,您将得到一个显示当前配置的编辑器,以及一个选项及其默认值的列表。

但我不认为有“重置”指令。

重置用户默认值

在命令行中运行这个命令(或者在 windows 上运行 git bash) :

echo "" > $(npm config get userconfig)
npm config edit

重置全局默认值

echo "" > $(npm config get globalconfig)
npm config --global edit

如果你需要 sudo,那么运行以下代码:

sudo sh -c 'echo "" > $(npm config get globalconfig)'

如果它只是一个属性-让我们假设您想要临时更改一些默认值,例如禁用 CA 检查: 您可以使用

npm config set ca ""

回到该设置的默认值

npm config delete ca

To verify, use npm config get ca.

npm config edit

在编辑器中打开配置文件。使用—— global 标志编辑全局配置。 now you can delete what ever the registry's you don't want and save file.

Npm config list 将显示现在可用的列表。

值得一提的是,您可以使用 npm config delete <key>(或者 npm config rm <key>,但是在 npm help config中没有提到 npm config rm的用法)重置配置条目的默认值。

例如:

# set registry value
npm config set registry "https://skimdb.npmjs.com/registry"
# revert change back to default
npm config delete registry

配置被写入到 .npmrc文件,所以只要删除它。NPM 按照这个顺序查找配置,在下一个中设置会覆盖上一个。因此,请确保在删除每个项目的配置文件之后,每个项目中可能会有通常被覆盖的全局配置变为活动的。npm config list将始终列出活动配置。

  1. 内置配置文件(/path/to/npm/npmrc)
  2. 全局配置文件($PREFIX/etc/npmrc)
  3. 每用户配置文件($HOME/.npmrc)
  4. per-project config file (/path/to/my/project/.npmrc)