-
Notifications
You must be signed in to change notification settings - Fork 35
Closed
Description
Gem Load Error is: cannot load such file -- net/smtp with Ruby master branch.
Steps to reproduce
- Create a
test_mail.rbscript
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'mail'
gem 'net-smtp'
end
require 'mail'
mail = Mail.new do
from 'sender@example.com'
to 'recipient@example.com'
subject 'Testing mail gem'
body 'Hello, this is a test email!'
end
p "net-smtp version: #{Net::SMTP::VERSION}"
puts mail.to_s- Install ruby master branch
$ ruby -v
ruby 3.5.0dev (2025-02-06T14:12:03Z master 9baa0f8c8c) +PRISM [x86_64-linux]- Run the
test_mail.rbscript with Ruby master branch
Expected behavior
It should print the following test mail as it runs with Ruby 3.4.1.
$ ruby -v
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x86_64-linux]
$ ruby test_mail.rb
"net-smtp version: 0.5.1"
Date: Fri, 07 Feb 2025 08:43:02 +0900
From: sender@example.com
To: recipient@example.com
Message-ID: <67a5490642693_36dbc2278-48d@myrhel9.local.mail>
Subject: Testing mail gem
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Hello, this is a test email!
$Actual behavior
It raises Gem Load Error is: cannot load such file -- net/smtp
$ ruby -v
ruby 3.5.0dev (2025-02-06T14:12:03Z master 9baa0f8c8c) +PRISM [x86_64-linux]
$ ruby test_mail.rb
Source locally installed gems is ignoring #<Bundler::StubSpecification name=date version=3.4.1 platform=ruby> because it is missing extensions
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:71:in 'block (2 levels) in Bundler::Runtime#require': There was an error while trying to load the gem 'mail'. (Bundler::GemRequireError)
Gem Load Error is: cannot load such file -- net/smtp
Backtrace for gem load error is:
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundled_gems.rb:65:in 'Kernel.require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundled_gems.rb:65:in 'block (2 levels) in Kernel#replace_require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.5.0+0/gems/mail-2.8.1/lib/mail.rb:9:in '<module:Mail>'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.5.0+0/gems/mail-2.8.1/lib/mail.rb:3:in '<top (required)>'
<internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:37:in 'Kernel#require'
<internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:37:in 'Kernel#require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundled_gems.rb:65:in 'block (2 levels) in Kernel.replace_require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:63:in 'block (2 levels) in Bundler::Runtime#require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:58:in 'Array#each'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:58:in 'block in Bundler::Runtime#require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:52:in 'Array#each'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:52:in 'Bundler::Runtime#require'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/inline.rb:89:in 'block in Object#gemfile'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/settings.rb:159:in 'Bundler::Settings#temporary'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/inline.rb:58:in 'Object#gemfile'
test_mail.rb:3:in '<main>'
Bundler Error Backtrace:
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:58:in 'Array#each'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:58:in 'block in Bundler::Runtime#require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:52:in 'Array#each'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:52:in 'Bundler::Runtime#require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/inline.rb:89:in 'block in Object#gemfile'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/settings.rb:159:in 'Bundler::Settings#temporary'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/inline.rb:58:in 'Object#gemfile'
from test_mail.rb:3:in '<main>'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundled_gems.rb:65:in 'Kernel.require': cannot load such file -- net/smtp (LoadError)
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundled_gems.rb:65:in 'block (2 levels) in Kernel#replace_require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.5.0+0/gems/mail-2.8.1/lib/mail.rb:9:in '<module:Mail>'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.5.0+0/gems/mail-2.8.1/lib/mail.rb:3:in '<top (required)>'
from <internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:37:in 'Kernel#require'
from <internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:37:in 'Kernel#require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundled_gems.rb:65:in 'block (2 levels) in Kernel.replace_require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:63:in 'block (2 levels) in Bundler::Runtime#require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:58:in 'Array#each'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:58:in 'block in Bundler::Runtime#require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:52:in 'Array#each'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/runtime.rb:52:in 'Bundler::Runtime#require'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/inline.rb:89:in 'block in Object#gemfile'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/settings.rb:159:in 'Bundler::Settings#temporary'
from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.5.0+0/bundler/inline.rb:58:in 'Object#gemfile'
from test_mail.rb:3:in '<main>'
$Additional information
This issue was originally workarounded by using gem "net-smtp", github: "ruby/net-smtp", ref: "d496a829f9b99adb44ecc1768c4d005e5f7b779e", require: false via rails/rails@d84afbb to include #90
I expected we do not need this workaround by using net-smtp 0.5.1 but actually it still raises the exception.
https://github.com/ruby/net-smtp/releases/tag/v0.5.1
Metadata
Metadata
Assignees
Labels
No labels