Javascript knexfile.js不读取Dotenv变量

Javascript knexfile.js不读取Dotenv变量,javascript,node.js,knex.js,dotenv,Javascript,Node.js,Knex.js,Dotenv,所以我正在尝试knexjs,第一个设置就像一个魔咒。我已经建立了连接,创建了数据结构,并在终端中运行了$knex migrate:latest. 一切都很好。。。迁移的表显示在我的数据库中,再次运行迁移,并获得了已更新的 现在我遇到了一个问题:使用Dotenv。。。这是我的密码: require('dotenv').config(); module.exports = { development: { client: process.env.DB_C

所以我正在尝试knexjs,第一个设置就像一个魔咒。我已经建立了连接,创建了数据结构,并在终端中运行了
$knex migrate:latest.
一切都很好。。。迁移的表显示在我的数据库中,再次运行迁移,并获得了已更新的

现在我遇到了一个问题:使用Dotenv。。。这是我的密码:

require('dotenv').config();

module.exports = {

        development: {

            client: process.env.DB_CLIENT,
            connection: {

                host: process.env.DB_HOST,

                user: process.env.DB_ROOT,
                password: process.env.DB_PASS,

                database: process.env.DB_NAME,
                charset: process.env.DB_CHARSET

            }
        }
};
就我所知,它没有任何问题,当我通过节点运行脚本时,没有出现任何错误。 然后我想检查我是否仍然可以进行迁移,我得到以下错误:

错误:ER_访问被拒绝\u错误:用户“@”[MY IP]的访问被拒绝 (使用密码:是)

这一次,我只在
.env
文件中使用相同的变量。但是当我看到错误时,没有从中加载任何内容,是的,
knexfile.js
.env
都在我的项目的根目录中:)我尝试的方法之一是在
require('dotenv').config()中以不同的方式设置路径
但是它会从dotenv抛出一个错误,这意味着文件已经正确加载


有谁能帮我弄清楚这一点吗?

经过反复试验,我终于找出了问题所在。我不知道是什么原因造成的,但不知怎么的,Knex的安装没有正确完成

I卸载并重新安装Knex(本地和全球)。然后,我首先在全局级别上安装了它,然后将其作为依赖项安装。之后,我再次初始化Knex(
$Knex init
),并从头开始

我想,但我仍然不知道为什么,因为我找不到任何关于它的信息,安装Knex的顺序很重要(或者对我来说很重要,我甚至不知道我第一次做错了什么)

另外 如果您是Knex新手,只是盲目地遵循随机教程/文章,只是为Knex创建一个新文件(即knexfile.js),Knex仍然可以工作,但其他包可能无法正确执行。这是我在找到的大多数文章中没有看到的,请阅读有关如何生成所需文件(迁移和种子)的文档。大多数文章都没有正确地介绍这些步骤


希望这是值得的改进建议:请发布用于运行脚本的命令行。它在那里:
$knex migrate:latest
(添加了标记)请将我在github问题中建议的调试打印添加到这里。另外,我假设您既不是在docker中运行,也不是通过npm脚本运行,而是直接从命令行使用
knex migrate:latest
?是的,我使用的是visual studio代码中的终端。调试打印没有添加任何信息。仍然感谢您的回复和建议:)