- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在试用 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
}
}
};
据我所知,它没有任何问题,当我通过 Node 运行脚本时,没有出现任何错误。然后我想检查我是否仍然可以进行迁移,但我收到以下错误:
Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'[MY IP]' (using password: YES)
这次我只使用来 self 的 .env
文件的相同变量。但是当我查看错误时,没有从中加载任何内容,是的,knexfile.js
和 .env
都在我的项目的根目录中 :) 其中我已尝试在 require('dotenv').config();
中以不同方式设置路径,但随后它会从 dotenv 中抛出错误,这意味着文件已正确加载。
谁能帮我解决这个问题?
最佳答案
经过反复试验,我终于弄清楚出了什么问题。我不知道是什么原因造成的,但不知何故 Knex 的安装没有正确完成......
我卸载并重新安装了 Knex(本地和全局)。然后首先我将它安装在全局级别而不是作为依赖项。之后,我再次初始化了 Knex ($ knex init
) 并从头开始。
我想,但我仍然不确定为什么,因为我找不到任何关于它的信息,安装 Knex 的顺序很重要(或者对我来说很重要,我什至不确定我第一次做错了什么)。
如果您是 Knex 的新手并且只是盲目地遵循随机教程/文章并为 Knex 创建一个新文件(即 knexfile.js),Knex 仍然可以工作,但其他包可能无法正常执行。这是我在发现的大多数文章中看不到的内容,请阅读有关如何生成所需文件(迁移和种子)的文档。大多数文章没有正确涵盖这些步骤。
希望这是值得的
关于javascript - knexfile.js 不读取 Dotenv 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50488910/
我正在尝试构建一个 Linkedin API 代码,但我发现了一个奇怪的错误 Fatal error: Uncaught TypeError: Argument 1 passed to Dotenv\
我正在尝试构建一个 Linkedin API 代码,但我发现了一个奇怪的错误 Fatal error: Uncaught TypeError: Argument 1 passed to Dotenv\
我在 codeigniter 项目上使用 composer 从 vlucas 安装了 phpdotenv。 我也添加了钩子(Hook),如果 v3.3 需要的话我有点困惑 $hook['pre
大家好,我很困惑我不知道我做错了什么这告诉我 fatal error :在 中找不到“Dotenv\Dotenv”类 但我不明白为什么.. $dotenv = new \Dotenv\Dotenv(d
我想在纯 ruby 环境中使用 dotenv。我的意思是我没有使用 Rails。 github 指令说有两种加载变量的方法。 require 'dotenv/load' # or require
不确定为什么会收到此消息: Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Class 'Do
我正在尝试在我的 Node 服务器上使用 dotenv 实现环境变量,但是我无法从位于根目录中的 .env 文件加载它们。当我运行 const dotenv = require("dotenv").c
我正在尝试添加 flutter_dotenv在我的项目中。我尝试将 .env 文件添加到 PROJECTNAME/filename.env 和 PROJECTNAME/lib/filename.env
我正在使用 php dotenv用于我的 php 应用程序的环境变量。 自述文件说我可以加载 php dotenv进入我的应用程序: $dotenv = new Dotenv\Dotenv(__DIR
我已经安装了 dotenv 来设置开发和生产环境变量,其中一个变量是 ROOT_API,我的 env 文件如下所示 NODE_ENV=dev ROOT_API=http://localhost/pro
这是我的文件: postgresU="myuser" postgresP="mypass" postgresH="myhost" postgresDB="mydb" postgresC="postgr
我在这里很困惑。有人,请帮助我,在 .env 文件中写入一个字符串,如下所示, AUTH_CREDENTIALS={"username":"Auth_user1","password":"ABC123
我正在尝试使用 dotenv 加载的 process.env 访问一些环境变量。 我的文件夹结构: .env src -- - server.js 我的 server.js 配置: (...) imp
我在 根文件夹中有 .env 文件 文件 NODE_ENV=development NODE_HOST=localhost NODE_PORT=4000 NODE_HTTPS=false DB_HOS
为什么我不应该在生产模式下使用 dotenv? 我在一些网站上看到了以下代码。但我不明白他们为什么要进行这种条件检查。 if (process.env.NODE_ENV !== 'production
我使用带有特殊字符的密码,symfony 返回错误“格式错误的参数“url”。” 我怎样才能使用这种密码? foo?bar 我尝试使用这样的变量 DATABASE_USER='foo' DATABAS
我正在尝试使用 dotenv-webpack 插件。这在本地效果很好。但是当我部署到 Heroku 时失败了。 我已经根据这个 git issue 遵循了建议,但仍然有问题。 我的 webpack 配
在我的 Express JS API 服务器中,我尝试使用带有 .env 的 dotenv我的环境设置文件。 我更喜欢使用 .env用于开发和生产环境的文件。 我正在使用 nodemon 进行开发,目
我在PostgreSQL中使用Diesel ORM包装器。我关注的the guide on their website具有以下代码: pub fn establish_connection() ->
使用 .env 文件存储 API 凭证时,将它们存储为带引号的字符串更好还是不带引号?两者之间有什么区别吗?例如,我的 .env 文件中有以下 Firebase 服务帐户凭据,哪种方式更好?: typ
我是一名优秀的程序员,十分优秀!