【问题标题】:What is the correct way to run a custom ruby script from inside the script directory from Rails application? (Production environment)从 Rails 应用程序的脚本目录中运行自定义 ruby​​ 脚本的正确方法是什么? (生产环境)
【发布时间】:2010-08-11 08:42:19
【问题描述】:

link text

我尝试了上述堆栈溢出帖子中的所有答案,但都没有奏效

当我用 #!/path/to/my/script/runner 替换 #!/usr/bin/env ruby​​ 并尝试运行时

Rails 返回:

/var/www/cmgmail/production/releases/20100810151610/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:76:in establish_connection': Please install the postgresql adapter:gem install activerecord-postgresql-adapter(no such file to load -- pg) (RuntimeError) from /var/www/cmgmail/production/releases/20100810151610/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:60:in建立连接' ETC。 。 . .

当我完好无损地保留原始 shebang #!/usr/bin/env ruby​​ 时,没有任何命令组合起作用。

例如 script/my_script -e 生产返回:

/var/www/cmgmail/production/releases/20100810151610/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:62:in establish_connection': development database is not configured (ActiveRecord::AdapterNotSpecified) from /var/www/cmgmail/production/releases/20100810151610/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:55:inestablish_connection' ...等

./my_script 返回: ./my_script: 没有这样的文件或目录(但我验证了文件在那里)

我有什么明显的遗漏吗?

我想我可以把它变成一个 rake 任务,但是这个脚本在开发模式下运行良好。

【问题讨论】:

  • 注意:我确实在文件顶部有这一行 require File.dirname(FILE) + '/../config/environment' 并且我的脚本在脚本目录

标签: ruby-on-rails scripting production-environment


【解决方案1】:

别忘了运行chmod a+x my_script。顺便说一句,尝试使用RAILS_ENV=production 环境变量运行script/my_script

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 2017-05-22
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 2021-01-06
    • 2013-05-16
    • 1970-01-01
    • 2020-08-04
    相关资源
    最近更新 更多