草庐IT

cross-env

全部标签

ruby - Capistrano 从部署服务器上的 .env 中读取

我正在尝试将数据库备份作为Capistrano(v3)部署脚本的一部分(用于非Rails应用程序)。如果我将数据库配置硬编码到脚本中,该脚本工作正常。现在我想从.env文件加载数据库配置。在我的本地机器上,我的.env文件(在Capfile旁边的repo根目录中)如下所示:DB_NAME='local_name'DB_USER='local_user'DB_PASSWORD='local_pw'DB_HOST='127.0.0.1'在服务器上,.env文件(Capistrano已将其放置在shared文件夹中并从current文件夹符号化为)如下所示:DB_NAME='dev_name

ruby-on-rails - RACK_ENV 在 Rails 应用程序中做什么?

我有一个Rails应用程序已经投入生产。设置这些环境变量之前的人:...exportRACK_ENV=noneexportRAILS_ENV=production...RACK_ENV=none是做什么的?我在任何地方都找不到关于它的文档。我需要在Rails应用程序中设置它还是可以删除该导出? 最佳答案 恕我直言,这没用。要找到Rails应用程序的当前环境,首先查找RAILS_ENV环境变量,然后查找RACK_ENV环境变量,然后默认为'development'. 关于ruby-on-r

ruby-on-rails - 如何为脚本或批处理文件设置 rails_env

我将批处理文件放在lib文件夹中并使用railsdb配置,像这样的事件记录。require"#{File.dirname(__FILE__)}/../config/environment.rb"classBatchdefhelloMessage.newdo|t|t.title="hello"t.saveendendendbatch=Batch.newbatch.hello执行批处理时rubylib/batch.rb在开发环境下没问题但生产环境仍然保存开发数据库...我如何像这样设置rails_envbatch.rbrubylib/batch.rbRAILS_ENV=production

ruby - 为什么 ENV 表现得像一个散列,但它是一个 Object 类

我认为ENV是哈希值是否正确ENV['HOME']=>'/Users/yozloy'但是ENV.class#=>Object 最佳答案 它实现了大部分Hash方法,但显然缺少一些:[:default,:default=,:default_proc,:default_proc=,:merge!,:merge,:flatten,:compare_by_identity,:compare_by_identity?]其中的大多数您从未想过要使用,但merge和flatten可能很有用。请记住,ENV不完全是哈希,而是环境变量的包装器以及用于

ruby-on-rails - 我如何从 environment.rb 或初始化程序中强制 RAILS_ENV=development ?

我们的主机不允许我们修改passenger配置文件(即apache配置或vhosts文件),但我们想在开发模式下运行rails。因此,我们必须在rails在应用程序重新启动时加载的文件之一中指定环境(prod/dev/test)。有人知道怎么做吗?我们尝试了以下但没有成功:#environment.rb(beforeanyothercodeisexecuted)`RAILS_ENV=development`#usingbackticksENV['RAILS_ENV']='development'#assigningtoaconstantRAILS_ENV='development'#a

ruby -/usr/bin/env : ln: Too many levels of symbolic links

这个问题让我很难受,我觉得我已经尝试了一切。首先,问题在升级到Capistrano3时开始出现。Capistrano现在在部署时在每个命令之前使用/usr/bin/env,以确保环境设置正确。当Capistrano创建指向必要的共享目录和相应文件的符号链接(symboliclink)时,它会尝试如下命令:/usr/bin/envln-s/full/path/different/full/path...然后它出错了:/usr/bin/env:ln:Toomanylevelsofsymboliclinks我意识到这不是Capistrano的错,所以我开始通过ssh连接到我的服务器并尝试相同

ruby-on-rails - 为什么 spec_helper 有这个 ENV ["RAILS_ENV"] ||= "test"?

有没有人想在测试以外的其他环境中使用spec_helper,或者为什么要这样配置?允许自定义测试环境? 最佳答案 环境可以有任何可能的名称。您可以使用多个测试环境,甚至可以为您的测试环境起一个别名,而不仅仅是test。因为将您的测试环境命名为test并不意味着您不能选择以不同的方式命名它。 关于ruby-on-rails-为什么spec_helper有这个ENV["RAILS_ENV"]||="test"?,我们在StackOverflow上找到一个类似的问题:

ruby - 无法在 Heroku 上启用 user-env-compile

第一次问,不够准确请见谅!我尝试使用启用user-env-compile来管理我的key来将我的Rails应用程序上传到heroku,但出现错误“没有这样的功能:user-env-compile”。我检查了Herokudevcenter,似乎user-env-compile已被弃用并被ENV_DIR参数取代。链接在这里:https://devcenter.heroku.com/articles/labs-user-env-compile我真的不知道该怎么办!有人可以向我更好地解释我应该做什么吗?谢谢你,费德里科 最佳答案 您无需执行

ruby-on-rails - 尽管我使用 `webpack-dev-server` 并将 NODE_ENV 设置为开发,但 Rails webpacker 出于某种原因总是认为 NODE_ENV 是生产环境

正如标题,我使用的是dockerruby​​2.3.5(ubuntu)环境,尽管我已经设置了NODE_ENV=development,当我尝试拦截process.env.NODE_ENV的值时,我仍然查看生产,我无法在任何被覆盖的地方找到它。它只发生在docker环境中,但在我的MacOS上没有,不确定是什么原因?更新:这里是Dockerfile和docker-compose.yml供引用:https://gist.github.com/goodwill/b4e677ccf8fe0079183adeec35218812更新:这是我在运行webpacker-dev-server时遇到的错

ruby-on-rails - 带有 Rails ENV 变量的 bool 逻辑

由于RailsENV变量应该只有字符串值,因此决定如何将ENV变量用于需要bool逻辑的用例可能是个问题。例如,由于ENV变量有一个字符串值,它总是真实的,所以做这样的事情不太好:ifENV['MY_VARIABLE']#dosomethingelse#dosomethingelseend所以至少有两种方法可以完成上面的事情:用特定值初始化变量并检查它ifENV['MY_VARIABLE']=='somestring'#dosomethingelsifENV['MY_VARIABLE']=='someotherstring'#dosomethingelseend或者只是用任何值初始化变