我一直在使用作为 gem 安装的 Ruby 包。现在我想修改代码,尝试修复错误/添加功能。我可以从 GitHub 下载该包的源代码,但是,我不确定下一步该怎么做。
有没有一种简单的方法可以用本地源目录中的代码替换特定的 gem?理想情况下,该过程应该足够简单,以便我能够在修改代码时不断更新。
此外,此包用作其他 gem 的依赖项,理想情况下使用此 gem 的其他包将使用更新的版本。 (因为我最终运行的程序来自其他 gems 之一。)有没有一种方法可以在不从源代码安装其他包的情况下进行安装?
(如果可以让事情变得更容易的话,这将在 Linux 上进行。)
最佳答案
假设您使用bundler
,您可以在Gemfile
中进行设置。如果您不确定您使用的捆绑程序,请查看项目的根目录。应该有一个名为 Gemfile
且没有扩展名的文件。该文件的存在通常表明该项目的作者正在使用 bundler 。下面描述的所有更改都应在该文件内进行。
gem HashMap 中的 :path
和 :git
键可用于将 rubygems 指向不同的位置。当我使用 :path
时,我将有两个不同的 ruby 项目。第一个项目是事件项目。我目前正在从事的项目。该项目需要我需要更新的相关 gem。第二个项目将是我想要更改的 gem 的 checkout 源代码。通过这两个项目设置,我可以编辑第一个项目的 Gemfile 并将其指向第二个项目。这是使用 :path
完成的。
# The Gemfile of the first project
gem 'the_gem_in_question', :path => '/the/path/to/the/second/project'
关于ruby - 如何使用本地源目录中的代码替换 Ruby gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38135612/