Describe the problem as clearly as you can
bin/console (or any bundle exec / require "bundler/setup" stuff) prints Ignoring tzfrb-0.1.0 because its extensions are not built. Try: gem pristine tzfrb --version 0.1.0 warnings when tzfrb is a local gem with native extensions
Did you try upgrading rubygems & bundler?
Yes
Post steps to reproduce the problem
Create a gem
bundle gem tzfrb --ext=rust
cd tzfrb
bundle install
bundle exec rake compile
- How your ruby is setup (OS package, from source, using a version manager).
Installed via mise
vladimir@np940x5n:~/tzfrb (master)$ bundler -v
Bundler version 2.6.9
vladimir@np940x5n:~/tzfrb (master)$ ruby -v
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [x86_64-linux]
Which command did you run?
bin/console
What were you expecting to happen?
Pry session without warnings on top
I was able to suppress this with
module AnnoyingGemWarningSilencer
def contains_requirable_file?(file)
return super unless source.is_a?(Bundler::Source::Gemspec)
return false if ignored?
super
end
end
Gem::BasicSpecification.prepend(AnnoyingGemWarningSilencer)
on top of my bin/console
What happened instead?
Ignoring tzfrb-0.1.0 because its extensions are not built. Try: gem pristine tzfrb --version 0.1.0
Ignoring tzfrb-0.1.0 because its extensions are not built. Try: gem pristine tzfrb --version 0.1.0
Ignoring tzfrb-0.1.0 because its extensions are not built. Try: gem pristine tzfrb --version 0.1.0
Ignoring tzfrb-0.1.0 because its extensions are not built. Try: gem pristine tzfrb --version 0.1.0
# extension is built
3.3.0 :001 > Tzfrb.hello('Ruby')
=> "Hello from Rust, Ruby!"
If not included with the output of your command, run bundle env and paste the output below
Environment
Bundler 2.6.9
Platforms ruby, x86_64-linux
Ruby 3.3.6p108 (2024-11-05 revision 75015d4c1f6965b5e85e96fb309f1f2129f933c0) [x86_64-linux]
Full Path /home/vladimir/.local/share/mise/installs/ruby/3.3.6/bin/ruby
Config Dir /home/vladimir/.local/share/mise/installs/ruby/3.3.6/etc
RubyGems 3.6.9
Gem Home /home/vladimir/.local/share/mise/installs/ruby/3.3.6/lib/ruby/gems/3.3.0
Gem Path /home/vladimir/.gem/ruby/3.3.0:/home/vladimir/.local/share/mise/installs/ruby/3.3.6/lib/ruby/gems/3.3.0
User Home /home/vladimir
User Path /home/vladimir/.gem/ruby/3.3.0
Bin Dir /home/vladimir/.local/share/mise/installs/ruby/3.3.6/bin
Tools
Git 2.34.1
RVM not installed
rbenv not installed
chruby not installed
Bundler Build Metadata
Built At 1980-01-02
Git SHA 8a2a14d63da
Released Version true
Bundler settings
gem.changelog
Set for the current user (/home/vladimir/.bundle/config): false
gem.ci
Set for the current user (/home/vladimir/.bundle/config): false
gem.coc
Set for the current user (/home/vladimir/.bundle/config): false
gem.linter
Set for the current user (/home/vladimir/.bundle/config): "rubocop"
gem.mit
Set for the current user (/home/vladimir/.bundle/config): false
gem.test
Set for the current user (/home/vladimir/.bundle/config): false
nexus.profitero.dev
Set for the current user (/home/vladimir/.bundle/config): "data-acquisition-service:[REDACTED]"
Gemfile
Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
# Specify your gem's dependencies in tzfrb.gemspec
gemspec
gem "irb"
gem "rake", "~> 13.0"
gem "rake-compiler"
gem "rubocop", "~> 1.21"
Gemfile.lock
PATH
remote: .
specs:
tzfrb (0.1.0)
rb_sys (~> 0.9.91)
GEM
remote: https://rubygems.org/
specs:
ast (2.4.3)
date (3.4.1)
erb (5.0.1)
io-console (0.8.0)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
json (2.12.2)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
pp (0.6.2)
prettyprint
prettyprint (0.2.0)
prism (1.4.0)
psych (5.2.6)
date
stringio
racc (1.8.1)
rainbow (3.1.1)
rake (13.3.0)
rake-compiler (1.3.0)
rake
rake-compiler-dock (1.9.1)
rb_sys (0.9.116)
rake-compiler-dock (= 1.9.1)
rdoc (6.14.0)
erb
psych (>= 4.0.0)
regexp_parser (2.10.0)
reline (0.6.1)
io-console (~> 0.5)
rubocop (1.76.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.45.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.45.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-progressbar (1.13.0)
stringio (3.1.7)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
irb
rake (~> 13.0)
rake-compiler
rubocop (~> 1.21)
tzfrb!
BUNDLED WITH
2.6.9
Gemspecs
tzfrb.gemspec
# frozen_string_literal: true
require_relative "lib/tzfrb/version"
Gem::Specification.new do |spec|
spec.name = "tzfrb"
spec.version = Tzfrb::VERSION
spec.authors = ["uvlad7"]
spec.email = ["uvlad7@gmail.com"]
spec.summary = "TODO: Write a short summary, because RubyGems requires one."
spec.description = "TODO: Write a longer description or delete this line."
spec.homepage = "TODO: Put your gem's website or public repo URL here."
spec.required_ruby_version = ">= 3.1.0"
spec.required_rubygems_version = ">= 3.3.11"
spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
gemspec = File.basename(__FILE__)
spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
ls.readlines("\x0", chomp: true).reject do |f|
(f == gemspec) ||
f.start_with?(*%w[bin/ test/ spec/ features/ .git appveyor Gemfile])
end
end
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.extensions = ["ext/tzfrb/extconf.rb"]
# Uncomment to register a new dependency of your gem
# spec.add_dependency "example-gem", "~> 1.0"
spec.add_dependency "rb_sys", "~> 0.9.91"
# For more information and examples about making a new gem, check out our
# guide at: https://bundler.io/guides/creating_gem.html
end
Describe the problem as clearly as you can
bin/console(or anybundle exec/require "bundler/setup"stuff) printsIgnoring tzfrb-0.1.0 because its extensions are not built. Try: gem pristine tzfrb --version 0.1.0warnings when tzfrb is a local gem with native extensionsDid you try upgrading rubygems & bundler?
Yes
Post steps to reproduce the problem
Create a gem
Installed via mise
Which command did you run?
bin/consoleWhat were you expecting to happen?
Pry session without warnings on top
I was able to suppress this with
on top of my
bin/consoleWhat happened instead?
If not included with the output of your command, run
bundle envand paste the output belowEnvironment
Bundler Build Metadata
Bundler settings
Gemfile
Gemfile
Gemfile.lock
Gemspecs
tzfrb.gemspec