执行"bundle exec rails runner"时,如何指定应用程序的目录?
When executing "bundle exec rails runner", how can I specify the application's directory?
当我执行这条命令时:
/usr/local/bin/bundle exec rails runner -e production "load 'job_alerta_validacao.rb'"
它returns:
Could not locate Gemfile
如何直接在命令中设置应用程序的位置,而无需使用 "cd" 命令创建脚本?
最常见的使用捆绑器的方法是cd
到包含Gemfile 的目录。这也是最稳健的方式,因为其他一些 gem 可能会假定工作目录是 Rails 项目的根目录。
如果您只是不想更改当前 shell 的工作目录,cd
in a subshell:
(cd /some/directory; /usr/local/bin/bundle exec rails runner -e production "load 'job_alerta_validacao.rb'")
如果你真的想通过 bundler 使用 Gemfile 目录以外的工作目录执行某些操作,请告诉 bundler 在哪里可以找到带有 BUNDLE_GEMFILE 环境变量的 Gemfile:
BUNDLE_GEMFILE=/some/directory/Gemfile /usr/local/bin/bundle exec rails runner -e production "load 'job_alerta_validacao.rb'"
当我执行这条命令时:
/usr/local/bin/bundle exec rails runner -e production "load 'job_alerta_validacao.rb'"
它returns:
Could not locate Gemfile
如何直接在命令中设置应用程序的位置,而无需使用 "cd" 命令创建脚本?
最常见的使用捆绑器的方法是cd
到包含Gemfile 的目录。这也是最稳健的方式,因为其他一些 gem 可能会假定工作目录是 Rails 项目的根目录。
如果您只是不想更改当前 shell 的工作目录,cd
in a subshell:
(cd /some/directory; /usr/local/bin/bundle exec rails runner -e production "load 'job_alerta_validacao.rb'")
如果你真的想通过 bundler 使用 Gemfile 目录以外的工作目录执行某些操作,请告诉 bundler 在哪里可以找到带有 BUNDLE_GEMFILE 环境变量的 Gemfile:
BUNDLE_GEMFILE=/some/directory/Gemfile /usr/local/bin/bundle exec rails runner -e production "load 'job_alerta_validacao.rb'"