ruby - 开发 gem 时,更新后是否必须继续安装?

标签 ruby rubygems

我正在文件夹中制作一个 gem:

/Users/me/projects/ruby/gems/mygamename/

它的布局是这样的:

/Users/me/projects/ruby/gems/mygamename/mygamename.gemspec
/Users/me/projects/ruby/gems/mygamename/mygemname.rb
/Users/me/projects/ruby/gems/mygamename/lib/mygemname/file1.rb
/Users/me/projects/ruby/gems/mygamename/lib/mygemname/file2.rb

现在在我的另一个 ruby​​ 项目中,我想在我的 Gemfile 中引用这个 gem,所以我做了:

gem 'mygemname', :path => "/Users/me/projects/ruby/gems/mygamename"

我知道我应该为我的 gem 编写测试以测试功能,但我很好奇我是否也可以从我的其他 ruby​​ 项目(我在我的 Gemfile 中引用它的地方)进行集成测试。

  1. 如果我对 gem 进行更新,是否必须重新运行 bundle?还是它会继续从该文件夹中读取并获取更改?

  2. 关于如何从我的其他 ruby​​ 项目测试它的任何其他建议?

同样,我将在 gem 本身中编写测试,但我想知道如果我想这样做,我该如何做。

最佳答案

您只需运行一次bundle install。 Bundler 不会缓存或打包您的 gem,它直接指向您的文件夹。

重启规则与主应用中的相同。如果您更改 View 、 Assets 或自动加载的 ruby​​ 文件,它们将自动重新加载。但是,如果您在应用程序中需要一些 lib 文件并更改了它们,则必须重新启动您的应用程序。默认情况下,Bundler 将需要 gem“mygemname”的“lib/mygemname.rb”,因此该文件将不可重新加载。

关于ruby - 开发 gem 时,更新后是否必须继续安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12558084/

相关文章:

Ruby - 带有 RVM 的全局 "--no-document"

ruby-on-rails - Rails 单选按钮 - 模型中多列的一种选择

ruby-on-rails - 如何验证用户名不以特定字符串开头?

ruby-on-rails - 无法在 Ruby on Rails 上安装 Puma gem

ruby-on-rails - ruby 。 Rails 中的加载错误

ruby - 如何在 irb 上使用特定的 gem 版本?

macos - 升级到macOS之后,Mojave gem更新失败

ruby-on-rails - jira-ruby gem 限制返回问题的数量?

javascript - Rails 通过浏览器 url 访问部分 View

ruby-on-rails - 如何使用 oauth2 token 创建与 HTTParty 的连接