我需要更改为Twitter gem,所以我将其克隆到本地文件夹,然后更改我的包文件:
gem 'twitter', :path => '~/code/twitter-ruby'
我添加了一个新方法,并运行一个简单调用该方法的测试,开始使用。但我收到undefined method
的错误。换句话说,它没有检测到我的变化。我试着评论一个完整的文件,运行我的其他测试,那些都工作,好像文件还在那里。
在我的项目中,我仍然以require 'twitter'
导入。
我已尝试运行bundle update twitter
,我已尝试将其从捆绑包中移除,我已尝试增加版本号(它会检测到它,并更新到最新版本),我已经尝试将我的更改提交给GIT。似乎没有任何作用 - 我只是不断得到undefined method
错误。有什么想法吗?
编辑:我的Gemfile.lock:
PATH
remote: /Users/Andrew/code/twitter
specs:
twitter (5.15.0)
GEM
remote: https://rubygems.org/
specs:
PLATFORMS
ruby
DEPENDENCIES
twitter!
BUNDLED WITH
1.12.4
答案 0 :(得分:0)
试试这个:
首先通过执行twitter
卸载gem uninstall twitter
gem,然后执行bundle install
答案 1 :(得分:0)
尝试给出分支名称。
gem 'twitter', path: <absolute-path-to-your-local-twitter-repo>, branch: <branch-name>
修改强>
e.g。路径为&#34; / Users / me / path / to / repo&#34;
然后运行
bundle update twitter
然后重新启动服务器,如果作为Web应用程序运行。
答案 2 :(得分:0)
我的问题是我使用捆绑软件安装了gems,但没有使用bundle exec
来运行我的应用程序。运行卸载建议并且require my_lib
中的irb
行开始失败后,情况变得很清楚。 bundle exec irb
允许它使用Gemfile中定义的gem路径工作。