将gem克隆到本地文件并未检测到我的更改

时间:2016-07-08 12:42:31

标签: ruby-on-rails ruby rubygems bundler

我需要更改为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

3 个答案:

答案 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路径工作。