我有一个gem,我修改了一些代码,但是当我捆绑安装或更新时,对gem的更改不会反映在我的应用程序中。有没有办法确保在我的应用程序中捕获并重新加载更改?感谢。
答案 0 :(得分:1)
您应该永远直接在gem中更新代码。相反,请从以下选项之一中选择(从首选到不太偏好):
如果您需要任何帮助,这是另一个讨论的主题,但请不要在gem本身编辑代码。
答案 1 :(得分:1)
确保使用打开的包修改已安装的gem。进行更改,保存,然后如果您的应用程序是本地的并且在标准开发模式下运行(无缓存),则更改将立即发生,更糟糕的情况是您可以重新启动应用程序并将其接收。如果没有,您不会对您的应用使用的宝石进行更改。像这样的更改将在bundle安装中继续存在,因为bundler没有理由更新你的gem。但是,如果您运行bundle update并且安装了修改后的gem的新版本,它将消除您的更改。一个好方法是在github上分割原始gem,进行更改并让你的应用指向github上的分叉副本..然后即使你部署应用程序,它也会找到并安装你修改过的代码。此外,如果更改对每个人都有用,请对原始项目发出拉取请求。