3

deno run app.ts当使用命令运行应用程序时,它会给出一个error: Uncaught PermissionDenied

error: Uncaught PermissionDenied: access to environment variables, run again with the --allow-env flag
    at unwrapResponse ($deno$/ops/dispatch_json.ts:43:11)
    at Object.sendSync ($deno$/ops/dispatch_json.ts:72:10)
    at Object.toObject ($deno$/ops/os.ts:33:12)
    at file:///opt//deno/app.ts:5:22
4

2 回答 2

4

此类问题我们需要在运行应用程序时设置一个标志

不同种类的权限

--allow-env                    
    Allow environment access

--allow-hrtime                 
    Allow high resolution time measurement

--allow-net=<allow-net>        
    Allow network access

--allow-plugin                 
    Allow loading plugins

--allow-read=<allow-read>      
    Allow file system read access

--allow-run                    
    Allow running subprocesses

--allow-write=<allow-write>    
    Allow file system write access
    deno run -allow-all app.ts

例子

  //Give an environment permission
  deno run --allow-env app.ts

  //Give an all permission 
  deno run -allow-all app.ts 
  OR
  deno run -A app.ts 

参考链接:https ://stackoverflow.com/a/61878925/9077019

于 2020-05-20T05:28:40.090 回答
1

在您的控制台日志中,尝试访问环境变量导致的错误,在 Deno 中,您必须提供/授予权限标志才能访问环境变量:

如果您直接从终端读取环境变量:

> TEST=123 deno --allow-env app.ts

如果您正在从 .env 文件中读取环境变量:

> TEST=123 deno --allow-env --allow-read app.ts

注意:始终优先考虑最低权限原则,不要随意授予应用程序所有权限。

于 2020-05-20T06:20:01.430 回答