在我的Gemfile
我有两个宝石,它们都定义了同一组常量。这两个宝石是sentiment_lib
和engtagger
。
这意味着无论何时我运行任务,我都会收到10条以上的警告:
...engtagger/porter.rb:6: warning: already initialized constant Stemmable::STEP_2_LIST
...stemmer/porter.rb:10: warning: previous definition of STEP_2_LIST was here
由于同一个文件只是用于它不是一个问题 - 但警告开始变得烦人。
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
我首先要求engtagger
然后使用已经通过另一个gem启动的常量删除该文件,将更改提交给新创建的fork。
将其添加到您的Gemfile
gem engtagger, github: 'your_github_handle/engtagger'
然后运行bundle update engtagger
现在你应该在没有该模块的情况下使用engtagger。
如果我们不处理常量,我会推荐一个模块eval,但它很可能不会起作用,因为常量设置一次,不能改变,因此警告信息。