找不到模块 'dotenv/types'

Cannot find module 'dotenv/types'

我正在使用 next.js 并尝试设置环境变量 - 我安装了 dotenv 当然是因为我被告知无法找到该模块并且不知道为什么。为什么会发生这样的事情?

dotenv 在我的依赖项中,但是当我 运行 dotenv --version 我被告知 'bash command not found'

我应该说下面的代码可能与问题无关。

在我的文档根目录下的 .env 文件中

API_URL = http://localhost:1337

然后在我的配置文件中我有

const path = require('path');
require('dotenv').config();

module.exports = {
  env: {
    API_URL: process.env.API_URL,
  },
  webpack: (config) => {
    config.resolve.alias['components'] = path.join(_dirname, 'components');
    config.resolve.alias['public'] = path.join(_dirname, 'public');

    return config;
  },
};

我在控制台上得到这个:

 Loaded env from C:\Users\sidtu\Documents\Websites\next-example\.env
 Cannot find module 'dotenv/types'
 code: 'MODULE_NOT_FOUND',

“dotenv 在我的依赖项中,但是当我 运行 dotenv --version 我被告知 'bash command not found'” - 这是典型的行为npm 包,只能从命令行访问全局安装的包。

如果您只是在 webpack 中使用 dotenv,请改用 dotenv-webpack

如果您在使用 React 获取 .env 文件时遇到问题,请参阅 this blog

使用npm安装dotenv-types

$ npm i -g dotenv-types

用法:

$ dotenv-types -h

来源:https://www.npmjs.com/package/dotenv-types