首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署到heroku时未知的参数错误"-p“

部署到heroku时未知的参数错误"-p“
EN

Stack Overflow用户
提问于 2014-07-30 23:23:18
回答 2查看 506关注 0票数 1

我们正在向Heroku部署一个rails应用程序。应用程序应该使用Trollop作为命令行解析器进行youtube api调用。我们继续把这个错误找回来。

代码语言:javascript
复制
2014-07-30T23:17:57.526014+00:00 app[web.1]: Error: unknown argument '-p'.
2014-07-30T23:17:57.526020+00:00 app[web.1]: Try --help for help.
2014-07-30T23:17:57.526541+00:00 app[web.1]: Completed 500 Internal Server Error in 7466ms

这就是我们的Trollop代码的样子。

代码语言:javascript
复制
def self.youtube_search(query)
    youtube_service_api_name = "youtube"
    youtube_api_version = "v3"
    # opts = HTTParty.get("https://www.youtube.com/results?search_query=russia")
    opts = Trollop::options do
      opt :q, 'Search term', :source => String, :default => query
      opt :maxResults, 'Max results', :source => :int, :default => 25
    end

更奇怪的是,它一小时前就开始工作了,而现在却不行了。有人有什么想法吗?这似乎在任何地方都没有记录。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-30 23:28:17

当提供未定义的参数时,Trollop将失败。在您的代码中,定义了-q选项,但没有定义-p

下面是parse方法中的相关行:

trollop.rb

代码语言:javascript
复制
339       unless sym
340         next 0 if ignore_invalid_options
341         raise CommandlineError, "unknown argument '#{arg}'" unless sym
342       end

至于为什么它以前是工作的,也许您当时是在传递-q,而现在则是无意中通过了-p

票数 0
EN

Stack Overflow用户

发布于 2014-08-21 04:18:59

是的,我也有同样的问题。未知参数-p和500个内部错误。

我决定放弃Trollop,只是硬编码我自己的选择。

因此,我只是初始化了opts、散列和插入键值对,这样就没有问题了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25048577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档