What is a .npmrc file?

Pratyush Mani Manav
2 min readSep 9, 2023

--

The .npmrc file is a configuration file used by the npm(Node Package Manager) command-line tool. It allows you to customize various settings related to how npm behaves while managing packages and dependencies for your Node.js projects. This file is usually placed in your project's root directory and can contain various configuration options. Here are some common use cases and configurations that can be set in the .npmrc file:

  1. Registry Configuration: You can use the .npmrc file to specify the registry where npm should fetch packages from. For example, you might want to use a private registry or a mirror of the default registry.
  2. Scoped Package Configuration: If you’re using scoped packages (packages with a name that starts with @scope/), you can set configuration options specific to those packages.
  3. Authentication: You can use the .npmrc file to store authentication tokens or credentials for private registries or services.
  4. Proxy Configuration: If you’re behind a corporate proxy, you can configure npm to work through the proxy by setting proxy-related options in the .npmrc file.
  5. Cache Control: You can control how npm caches packages by specifying cache-related settings in the .npmrc file.
  6. Global vs. Local Configuration: You can have different .npmrc files for global and local settings. Global settings are applied to all projects on your system, while local settings are specific to the project's directory.
  7. Package Installation Behavior: You can configure npm to save packages as dependencies or devDependencies by default when you run npm install. You can also control whether npm automatically saves packages to your package.json file.

Here’s an example of what a simple .npmrc file might look like:

registry=https://registry.npmjs.org/
loglevel=warn
save-exact=true

In this example, the file sets the default registry to the npm public registry, sets the log level to “warn,” and configures npm to save exact versions of packages.

Keep in mind that some options set in the .npmrc file might be overridden by command-line arguments when using npm. You can find a comprehensive list of configuration options in the npm documentation.

It’s important to handle sensitive information like authentication tokens carefully, as the .npmrc file is often stored in version control systems alongside your code. You should consider using environment variables or other secure methods to manage sensitive information.

--

--