了解到包含 API 密钥是一种不好的做法,我已经做了一些研究并尝试学习如何创建自定义process.env.
看完后:
我正在尝试基于 .env 在本地设置一个 env 文件process.env.NODE_ENV。该应用程序将托管在 Heroku 和我的 .gitignore 中,dev.env 但是当我尝试在dotenv本地使用时,我得到了一个.gitignore 文件undefined。我已经export NODE_ENV=development在我的终端中本地设置了环境。当我运行命令npm start或nodemon两者都返回undefined但在env.js 中我得到Testing for: development,例如:
nodemon
[nodemon] 1.19.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node app.js`
Testing for: development
undefined
Run Code Online (Sandbox Code Playgroud)
这是我所拥有的:
应用程序.js:
const keys …Run Code Online (Sandbox Code Playgroud) 在我的 node.js 应用程序中,我require('dotenv').config();在本地开发时需要一行以使用环境变量。但是,当我部署到 AWS 时,我需要注释掉这一行,否则应用程序会崩溃。目前我有 4 行这些行,当我推/拉应用程序时不得不继续注释/取消注释它们有点烦人 - 是否有任何解决方法可以消除在我部署到 AWS 时必须继续删除该行的需要/包括我在本地拉动和工作时的线路?
我正在从 python 库运行一个 python 脚本,该脚本.env使用 dotenv 从库根目录中的文件加载一些环境变量。
这可以从命令行运行,但是当我尝试使用以下命令作为 cronjob 运行时:
* * * * * source ./path_to_venv/activate; python ./path_to_script.py
Run Code Online (Sandbox Code Playgroud)
我收到一个关键错误,因为它找不到环境变量。
有什么想法为什么这不起作用吗?
非常感谢您的帮助!
我已经在一个具有微服务架构的项目上工作了一段时间,其中每个服务都有自己的环境变量,这些变量通过.env每个服务/存储库的文件进行处理。
这些变量的很大一部分与其他服务 IP 和外部资源密钥相关,它们在每个环境中都不同:开发、登台和生产,因此这.env不是一个简单的变量。
我们的开发速度很快,大多数时候,这些变量会随着新功能和/或解决与该服务相关问题的团队成员实施的更改而变化。这导致几乎每次其他人想要使用某个服务时,他们都会被阻止,并且必须.env先更新文件。因此,我们最终总是互相请求和共享.env文件,并且所有文件都缺乏“真相来源” .env。
我想知道其他人以前是否遇到过这个问题或类似的问题,以及采取了什么方法来解决或改进它。
是否有任何应用程序或框架可以.env以自动化的方式在团队中共享和管理文件?
提前致谢!
编辑
需要明确的是,这些不会被添加到源代码管理中,而是在 CI/CD 上得到正确处理。
我更多地讨论了本地开发、本地设置服务以及.env以简单的方式保持本地文件最新。
environment service environment-variables microservices dotenv
docker/build-push-action创建发布标签时,我的 GitHub 操作中会运行以下作业。
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: user/repo:latest
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
Run Code Online (Sandbox Code Playgroud)
在我的工作中Dockerfile,我有一项任务,需要完成.env.production并完成它.env。
COPY .env.production .env
Run Code Online (Sandbox Code Playgroud)
这显然失败了,因为 .env.Production 不包含在 Git 中。
我的问题是,如何在我的 GitHub …
environment-variables docker dockerhub dotenv github-actions
我正在尝试使用 dotenv-webpack 访问我的 .env 文件变量,以便稍后可以将它们捆绑在一起,并且我可以在我的网站上使用它们,但是我按照说明进行操作并在网上查看,但无法使其工作。
//.env
VAR=1234
Run Code Online (Sandbox Code Playgroud)
// created a webpack.config.js with the following code
const Dotenv = require('dotenv-webpack');
module.exports = {
plugins: [
new Dotenv()
]
};
Run Code Online (Sandbox Code Playgroud)
// index.js
console.log(process.env.VAR);
// undefined
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做,因为我已经按照以下示例进行操作: https: //github.com/mrsteele/dotenv-webpack,看起来应该很容易......
我的反应应用程序中不断收到此错误
Compiled with problems: X
ERROR in ./ node_modules / dotenv / lib / main.js 1: 11 - 24
Module not found: Error: Can't resolve 'fs' in 'C: \Users\USER\Desktop\dapps\nefty\node_modules\dotenv\lib'
ERROR in ./ node_modules / dotenv / lib / main.js 3: 13 - 28
Module not found: Error: Can't resolve 'path' in 'C: \Users\USER\Desktop\dapps\nefty\node_modules\dotenv\lib'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module …Run Code Online (Sandbox Code Playgroud) 我想做什么? 我正在尝试从 .env 文件访问我的环境变量并在终端中打印其值。
有什么问题吗?
当我在终端中运行脚本时,我不断收到错误none
更多信息:
我使用的是 Windows 10
dotenv的版本是0.20.0
我下载它使用 python -m pip install python-dotenv
代码
.env 文件 -
export PRIVATE_KEY = 0xc3c4e4fe27d8e6b06710e713878e4488c034ce346a578fdfa78bb3d335130eec
Python 文件 -
from dotenv import load_dotenv
import os
load_dotenv()
print(os.getenv("PRIVATE_KEY"))
Run Code Online (Sandbox Code Playgroud) 我正在使用 nodejs 服务器端 api,使用dotenv npm 包设置环境变量,并从package.json 中的npm 脚本运行代码,如下所示:
"scripts": {
"local": "cross-env NODE_ENV=local nodemon ./bin/www"
}
Run Code Online (Sandbox Code Playgroud)
我需要的是配置我的 .vscode/launch.json 文件。
目前它看起来像:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": []
}
Run Code Online (Sandbox Code Playgroud)
请指导我。谢谢,Gopal.R
当我执行 pip install dotenv 时,它会这样说 -
\n`正在收集 dotenv\n使用缓存的 dotenv-0.0.5.tar.gz (2.4 kB)\n准备元数据 (setup.py) ... 错误\n错误:子进程退出并出现错误
\n\xc3\x97 python setup.py Egg_info 未成功运行。\n\xe2\x94\x82 退出代码: 1\n\xe2\x95\xb0\xe2\x94\x80> [72 行输出]\nC: \\Users\\Anju Tiwari\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\setuptools\\installer.py:27:SetuptoolsDeprecationWarning:setuptools.installer 已弃用。PEP 517 安装程序应满足\n要求。\nwarnings.warn(\n错误:子进程退出并出现错误
\n python setup.py egg_info did not run successfully.\n exit code: 1\n \n [17 lines of output]\n Traceback (most recent call last):\n File "<string>", line 2, in <module>\n File "<pip-setuptools-caller>", line 14, in <module>\n File "C:\\Users\\Anju Tiwari\\AppData\\Local\\Temp\\pip-wheel-xv3lcsr9\\distribute_009ecda977a04fb699d5559aac28b737\\setuptools\\__init__.py", line 2, in <module>\n from setuptools.extension import Extension, Library\n File "C:\\Users\\Anju Tiwari\\AppData\\Local\\Temp\\pip-wheel-xv3lcsr9\\distribute_009ecda977a04fb699d5559aac28b737\\setuptools\\extension.py", line 5, …Run Code Online (Sandbox Code Playgroud)