I am encountering an odd behavior of gem install function. Can anyone
explain me what “gem install” actually does?
I have several C code and header files, and one extconf.rb file, +
mygem.gemspec file. So, when I build a gem it successfully creates
mygem-0.61.gem.
So, when I install it locally using “gem install mygem-0.61.gem” I
expect the gem to create a makefile, because in the extconf.rb file I
explicitly indicate it, and then “make install” that newly created
Makefile. However, "gem install’ does not create a Makefile and does
not install it. What it does is just copies those several files to the
gem directory, where Gem keeps all its gems.
What I have to do is manually rub “ruby extconf.rb”, which creates the
Makefile, and manually “make install”.
The questions is: Should not “gem install” perform all these operation
by itself, when I type “gem install mygem”?
expect the gem to create a makefile, because in the extconf.rb file I
explicitly indicate it, and then “make install” that newly created
Makefile. However, "gem install’ does not create a Makefile and does
not install it. What it does is just copies those several files to the
gem directory, where Gem keeps all its gems.
What I have to do is manually rub “ruby extconf.rb”, which creates the
Makefile, and manually “make install”.
The questions is: Should not “gem install” perform all these operation
by itself, when I type “gem install mygem”?
You need to indicate in your gemspec that there is a native library to
build. You might get more answers on one of the main ruby lists as
this isn’t really a rails question.
I will post to the rubygems gorup. But, if you might have time to
explain me which specification exactly should be set, I would be very
glad for your help! What I understand from what you’ve said is the
“s.platform = Gem::Platform::RUBY” specification. If, so, this is
exactly what I did, i.e. set it to Native Ruby.
I will post to the rubygems gorup. But, if you might have time to
explain me which specification exactly should be set, I would be very
glad for your help! What I understand from what you’ve said is the
“s.platform = Gem::Platform::RUBY” specification. If, so, this is
exactly what I did, i.e. set it to Native Ruby.