【问题标题】:Cannot find module 'dotenv/types'找不到模块 'dotenv/types'
【发布时间】:2021-01-04 20:47:36
【问题描述】:

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

dotenv 在我的依赖项中,但是当我运行 dotenv --version 时,我被告知“找不到 bash 命令”

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

在我拥有的文档根目录下的 .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',

【问题讨论】:

  • 如果你做$ npm install dotenv 怎么办?
  • 我已经安装了 dotenv - 我没有收到任何错误,一切都很好。我也跑了扩展版
  • 检查你的node_modules中是否有dotenv/types文件夹,如果没有,安装:npm i dotenv/types。如果它在那里,请尝试删除您的 node_modules 并重新安装:npm install
  • @ST 你也可以试试安装$ npm install --dotenv-extended 吗?
  • 检查该文件后,我可以看到它确实存在,这很奇怪。我已经删除了节点模块并运行了 npm install - 同样的问题

标签: node.js reactjs npm next.js dotenv


【解决方案1】:

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

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

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

【讨论】:

  • 真棒 - 你是一个救生员。我正在遵循权限路线。我看过的每个人都在使用普通的 dotenv,它对他们有用,这很奇怪
【解决方案2】:

使用 npm 安装 dotenv-types

$ npm i -g dotenv-types

用法:

$ dotenv-types -h

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 2019-03-08
    • 2022-01-09
    • 2020-06-29
    • 2019-08-14
    • 2020-11-01
    相关资源
    最近更新 更多