Ruby gem安装不';如果文件发生更改,是否更新?

Ruby gem安装不';如果文件发生更改,是否更新?,ruby,gem,rubygems,Ruby,Gem,Rubygems,我正在尝试创建一个gem,其中包含一个C扩展。我正在使用标准的Gem::PackageTask制作Gem 当我安装gem时,它会正确构建.so文件,并将其安装在三个位置: /home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/nmatrix-atlas-0.1.0/nmatrix_atlas.so /home/me/.rbenv/versions/2.2.2/lib/ruby

我正在尝试创建一个gem,其中包含一个C扩展。我正在使用标准的
Gem::PackageTask
制作Gem

当我安装gem时,它会正确构建
.so
文件,并将其安装在三个位置:

/home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/nmatrix-atlas-0.1.0/nmatrix_atlas.so /home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/nmatrix-atlas-0.1.0/lib/nmatrix_atlas.so /home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/nmatrix-atlas-0.1.0/ext/nmatrix_atlas/nmatrix_atlas.so /home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/nmatrix-atlas-0.1.0/nmatrix_atlas.so /home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/nmatrix-atlas-0.1.0/lib/nmatrix\u atlas.so /home/me/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/nmatrix-atlas-0.1.0/ext/nmatrix\u atlas/nmatrix\u atlas.so 我很好奇为什么它会复制三份。但无论如何,第一个是当我
需要“which”
时实际加载的。问题是,当我对代码进行更改,然后重新打包gem,然后再次运行
gem install
时,新代码会被编译成一个新代码。因此,后两个代码也会被替换为新代码,但第一个代码不会被更新。所以ruby仍然可以看到旧代码。我必须先执行
gem卸载
,然后执行
gem安装
,才能更新它

这是rubygems中的一个bug吗?还是预期的行为?还是我做错了什么


编辑:对于任何好奇的人,我提交了一份申请。还没有回复。

不100%确定是否相关,但。。。你有没有碰过gem的版本?不是100%确定是否相关,但是。。。你有没有碰过gem的版本?不是100%确定是否相关,但是。。。你有没有碰过宝石的版本?