Ruby gem 相当于 "pip install -e"?

标签 ruby gem

在 Python 中,我可以从 "editable" mode 中的源安装一个包使用 pip install -e。然后我可以继续编辑代码,任何更改都会被 import library

的其他 Python 脚本自动选取

开发 Ruby gem 是否有类似的工作流程?在开发库时使用库的“Ruby 方式”是什么,而不是每次我对源代码进行更改时编译和安装 gem?

最佳答案

bundler 有两种常见的方法:

  1. 执行 bundle install --path vendor/bundle 并且不运行 bundle update 除非一切都经过测试
  2. 告诉打包器使用本地版本的 gem:
    • Gemfile 中(由于 ruby​​gems 维护问题,这在 mymaingem.gemspec 中不受支持):gem 'mycutegem', :git => 'git://github.com/myname/mycutegem', :branch => 'master';
    • 在命令行中:bundle config local.mycutegem/path_to_local_git/mycutegem

第一种方法会将所有内容下载到您当前项目的子文件夹中(此处为 vendor/bundle。)您可以随意修改那里的所有内容,它会反射(reflect)出来。

第二种方法可能更好。您将从 github 克隆 gem 并指示 bundle 使用相应 git 存储库的本地克隆。这种方法使您能够将对主 gem 的更改发布到存储库中。一旦依赖的 repo 也被发布,最新的版本将被你的 gem 订阅者检索,假设他们没有指示他们的 bundlers 使用他们的本地人。

希望这对您有所帮助。

关于Ruby gem 相当于 "pip install -e"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876000/

相关文章:

ruby - RSpec 期望 raise_error 的最佳实践

javascript - CoffeeScript 的行为就像一个 ID 仍然存在,但它不存在

ruby - 如何找到最新版本的 gem?

ruby-on-rails - 使用 Rails Composer 工具创建 rails 应用程序时显示 "/Gemfile not found"错误

ruby-on-rails - unicorn worker 在 AWS 机器上超时

ruby - 安装了两个版本的ruby,如何解决?

ruby-on-rails - 如何在 rails 中用 %20 替换空间

ruby-on-rails - 查找当前版本的 rails 2.3

ruby-on-rails - 无法使用 Chef-Solo 在 vagrant 虚拟 CentOS 机器上安装 Rails gem

mysql - gem install mysql2 出错