相关疑难解决方法(0)

如何解决错误"缺少'secret_key_base`为'生产'环境"(Rails 4.1)

我从头开始创建了一个rails应用程序(rails 4.1),我遇到了一个我无法解决的奇怪问题.

每次我尝试在Heroku上部署我的应用程序时,都会收到错误500:

缺少secret_key_base"生产"环境,请设置此值config/secrets.yml

secret.yml文件包含以下配置:

secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)

在Heroku上,我已经使用"rake secret"命令的结果配置了一个环境变量"SECRET_KEY_BASE".如果我启动"heroku config",我可以看到具有正确名称和值的变量.

为什么我仍然会收到此错误?

非常感谢

ruby ruby-on-rails heroku ruby-on-rails-4

160
推荐指数
4
解决办法
15万
查看次数

从环境文件中读取环境变量

我想在本地环境中运行Python脚本,该脚本通常在Docker容器中运行.在docker-compose.yml指定了一个env_file看上去(部分)如下所示:

DB_ADDR=rethinkdb
DB_PORT=28015
DB_NAME=ipercron
Run Code Online (Sandbox Code Playgroud)

为了在本地运行,我将这些行转换为

os.environ['DB_ADDR'] = 'rethinkdb'
os.environ['DB_PORT'] = '28015'
os.environ['DB_NAME'] = 'ipercron'
Run Code Online (Sandbox Code Playgroud)

我可以编写我的解析器,但我想知道是否有任何现有的模块/工具可以从配置文件中读取环境变量?

python docker

28
推荐指数
8
解决办法
4万
查看次数

Shell如何从.env文件设置环境变量

假设我有.env文件包含如下行:

USERNAME=ABC
PASSWORD=PASS
Run Code Online (Sandbox Code Playgroud)

与普通的export前缀不同,所以我无法直接获取文件.

创建从.env文件加载内容并将其设置为环境变量的shell脚本的最简单方法是什么?

shell

9
推荐指数
4
解决办法
6954
查看次数

在Bitbucket管道的各个步骤中使变量可见吗?

我想在两个步骤中共享一个变量。

我将其定义为:

- export MY_VAR="FOO-$BITBUCKET_BUILD_NUMBER"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在其他步骤中打印它时:

- echo $MY_VAR
Run Code Online (Sandbox Code Playgroud)

它是空的。

我如何共享这样的变量?

environment-variables bitbucket-pipelines

9
推荐指数
4
解决办法
2796
查看次数

npm脚本:读取.env文件

我有一个简单的要求:在我的npm脚本package.json文件中,有以下一行:

{
    "scripts": {
        "example": "some-lib --argument --domain \"https://tld.com\""
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想排除“域”。

首先尝试使用$npm_package_config,它可以工作:

{
    "config": {
        "domain": "https://tld.com"
    },
    "scripts": {
        "example": "some-lib --argument --domain \"$npm_package_config_domain\""
    }
}
Run Code Online (Sandbox Code Playgroud)

但我想从本地.env文件加载域。

我没有找到任何解决方案来在命令行上的npm脚本中读取env文件的内容。

有人可以给我提示解决此问题的方法吗?

npm npm-scripts

9
推荐指数
4
解决办法
3710
查看次数

Bash - 导出带有特殊字符 ($) 的环境变量

我正在解析包含key=value数据的文件,然后将它们导出为环境变量。我的解决方案有效,但不适用于特殊字符,例如:

。数据

VAR1=abc
VAR2=d#r3_P{os-!kblg1$we3d4xhshq7=mf$@6@3l^
Run Code Online (Sandbox Code Playgroud)

脚本文件

#!/bin/bash
while IFS="=" read -r key value; do
  case "$key" in
    '#'*) ;;
    *)
      eval "$key=\"$value\""
      export $key
  esac
done < .data
Run Code Online (Sandbox Code Playgroud)

$ . ./script.sh

输出:

$ echo $VAR1
abc
$ echo $VAR2
d#r3_P{os-!kblg1=mf6@3l^
Run Code Online (Sandbox Code Playgroud)

但应该是: d#r3_P{os-!kblg1$we3d4xhshq7=mf$@6@3l^

bash

8
推荐指数
3
解决办法
3万
查看次数

Launch.json:如何引用环境变量

为了在一个地方定义我的环境变量,配置了一个运行 shell 脚本的任务。任务preLaunchTask在我的launch.json.

在我的 launch.json 中,我现在尝试引用我在脚本中配置的环境变量(如export AWS_REGION="eu-west-1")。

launch.json 如下所示:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            //..
            "env": {
                //"AWS_REGION": "us-east-1",        //works
                "AWS_REGION": "${env:AWS_REGION}",  //doesn't work, why?
            },
            "args": [],
            "preLaunchTask": "setupEnv",
        }
    ] }
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-settings vscode-tasks

8
推荐指数
2
解决办法
1891
查看次数

如何在Ruby脚本中为命令shell获取环境变量?

我正在尝试从我的ruby程序中运行一些第三方bash脚本.

在我运行它们之前,它们需要我来源文件.在命令行上它一切正常但在Ruby中它不起作用.我发现系统命令将打开一个新的子shell进程,任何源代码都将在那里完成,并且无法从运行Ruby脚本的父shell进程中看到.当系统调用结束时,子shell也被杀死.

我如何解决这个问题?

ruby environment-variables

6
推荐指数
1
解决办法
1万
查看次数

env -0转储环境.但是如何加载呢?

linux命令行工具env可以转储当前环境.

由于我想使用一些特殊字符env -0(每个输出行以0字节而不是换行结束).

但是如何再次加载这个转储呢?

Bash版本:4.2.53

bash env environment-variables

6
推荐指数
1
解决办法
1207
查看次数

如何从 bash 脚本中的文件导出环境变量

我需要导出很多变量,例如导出x1 = 1导出x2 = 2

我移动了文件 .env 中的所有变量并尝试

source .env

之后我执行了

printenv

并且所有这些变量都不在环境变量列表中。我也尝试过, export $(xargs <.env) 但我在 .env 文件中注释了行,并且收到以下消息

#': not a valid identifier

那么如何从文件中导出变量并跳过注释行呢?

bash export sh

6
推荐指数
1
解决办法
7429
查看次数