Javascript env cmd错误在gatsby中找不到.env文件?

Javascript env cmd错误在gatsby中找不到.env文件?,javascript,node.js,Javascript,Node.js,我在根文件夹中有一个文件名.env.development。我已将env cmd安装为开发依赖项 当我启动服务器时 > npm run develop 这给了我一个错误 > gatsby-starter-hello-world@0.1.0 develop I:\learngatsby > env-cmd .env-development gatsby develop (node:1368) UnhandledPromiseRejectionWarning: Error:

我在根文件夹中有一个文件名.env.development。我已将env cmd安装为开发依赖项
当我启动服务器时

  > npm run develop
这给了我一个错误

> gatsby-starter-hello-world@0.1.0 develop I:\learngatsby
> env-cmd .env-development gatsby develop

(node:1368) UnhandledPromiseRejectionWarning: Error: Unable to locate env file at default location (./.env)
at I:\learngatsby\node_modules\env-cmd\dist\get-env-vars.js:44:19
at Generator.throw (<anonymous>)
at rejected (I:\learngatsby\node_modules\env-cmd\dist\get-env-vars.js:5:65)
at process._tickCallback (internal/process/next_tick.js:68:7)
at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

您可以将
.env.development
重命名为just
.env
,然后运行
env cmd gatsby development
,这将在
.env
文件中查找环境变量

"dev": "env-cmd -f ./config/dev.env nodemon src/index.js"
您还可以更新
package.json
中的
develope
节点脚本,如下所示:

"develop": "env-cmd gatsby develop"
然后可以运行节点脚本

npm run develop


遇到同样的问题,这里是我添加的gatsby-config.js的一个片段,以使“.env.development”文件对gatsby可见。(不确定这是否是唯一的方法,请节点/盖茨比专家插话)

基于这个gatsby-config.js,下面是package.json中的开发脚本(未更改)——

最后,使用启动盖茨比应用程序时,日志中提到操场可用-

npm run develop

You can now view gatsby-starter-hello-world in the
⠀
  http://localhost:8000/
⠀
View the GraphQL Playground, an in-browser IDE, to
⠀
  http://localhost:8000/___graphql

您可以使用自己的自定义
.env
文件和
-f
标志和
env cmd
设置环境变量。使用此命令设置自定义文件
'./config/myvar.env'
中定义的
env
变量

env cmd-f./config/myvar.env


要了解更多信息,请使用此

将let代码段添加到gatsby-config.js文件中,我成功了!然后和盖茨比一起创业
Tnx!帮了大忙

这已在最新版本的env cmd中更新,如果您使用的是9.0.0版,它将查找的默认环境文件是.env


使用
env cmd-f.env.development gatsby develope
,这里-f是为自定义文件名提供的。

-f
添加到您的
包.json
文件中

"develop": "env-cmd -f .env.development gatsby develop",
谢谢大家。 这为我解决了问题

"develop": "env-cmd --file .env.development --fallback gatsby develop",
并传入这个value.env.development文件
GATSBY\u GRAPHQL\u IDE=playerd

如果您想了解如何更好地设置它,可以查看本文 论CSS的技巧

使用-f标志并确保.env.development文件的路径正确

"develop": "env-cmd -f ./.env.development gatsby develop"
步骤1: 首先运行命令:
npm安装--save dev env-cmd@10.1.0

步骤2: 在Windows中将
环境命令.env development gatsby develop
替换为
/node\u modules/.bin/env cmd-f./.env.development gatsby development
。 首先创建文件
.env.development
然后在package.json中添加:
“开发”:“环境命令-f.env.development——盖茨比开发的后备方案”
和:
npm运行开发
附件:

我也有同样的问题

我试过下面的代码

env-cmd -f ./config/myvar.env
这对我不起作用

相反,我添加了配置文件夹的完整路径,如下图所示,其工作原理如charm

env-cmd -f fullPath/config/myvar.env

在我的例子中,出现了以下错误:

错误:在getEnvFile(E:\project\..)的路径:.env.local处找不到.env文件。

然后我将
.env.development
文件重命名为
.env.local
,它工作正常


或者,如果您正在使用远程git存储库,请检查您是否已将团队成员所做的最新更改拉入本地开发环境。

在我的情况下,它可以在
.env
文件中使用以下脚本在
包.json
中进行开发

"develop": "env-cmd gatsby develop"

-f
添加到
包.json
文件中

"dev": "env-cmd -f ./config/dev.env nodemon src/index.js"

可能只有在名称为
.env
而不是
.env development
.env.development
时才有效。不,它不起作用。为什么错误中有
.env development
,但根目录中的文件名是
.env.development
?我想您是在控制台中了解这一行的“env cmd.env development gatsby develope”,这不是一个错误。它只是控制台视图。如果文件名是
env.development
,则错误状态从第四行开始。命令不应该是
env cmd.env.development gatsby develope
而不是
env cmd.env development gatsby develope
env-cmd -f fullPath/config/myvar.env
"develop": "env-cmd gatsby develop"
"dev": "env-cmd -f ./config/dev.env nodemon src/index.js"