自 ruby 1.8.2 和 1.9.3 以来一直运行良好的带有本机扩展的私有 gem,现在无法在 ruby 2.0.0 上以有线模式安装。它不是安装所需的共享对象.so
文件,而是复制一个可执行文件。宝石来源没有变化,回到 ruby 1.9.3(它是 gemset)工作正常。
以下是相关的 2.0.0-p0 详细输出gem install
:
linking shared-object mygem/mygem.so
make install
/usr/bin/install -c -m 0755 mygem.so /home/remus/.rvm/gems/ruby-2.0.0-p0/gems/mygem-0.1.12/lib/mygem
installing default mygem libraries
Successfully installed mygem-0.1.12
...
1 gem installed
这些是安装的工件:
$ ls -al
total 2252
-rwxr-xr-x 1 remus remus 2289443 May 4 13:08 mygem
-rw-rw-r-- 1 remus remus 62 May 4 13:08 mygem.rb
为了比较,1.9.3-p194 输出为:
linking shared-object mygem/mygem.so
make install
/usr/bin/install -c -m 0755 mygem.so /home/remus/.rvm/gems/ruby-1.9.3-p194/gems/mygem-0.1.12/lib/mygem
installing default mygem libraries
Successfully installed mygem-0.1.12
1 gem installed
以及已安装的工件:
ls -al
total 16
drwxrwxr-x 2 remus remus 4096 May 4 13:06 mygem
-rw-rw-r-- 1 remus remus 62 May 4 13:06 mygem.rb
ls -al mygem
total 2760
-rwxr-xr-x 1 remus remus 2810959 May 4 13:06 mygem.so
- ruby 2.0.0-p0: rake (10.0.4, 0.9.6), rake-compiler (0.8.3), hoe (3.6.0)
- ruby 1.9.3-p194: rake (10.0.4, 10.0.3, 0.9.2.2), rake-compiler (0.8.1), hoe (3.4.0, 3.0.8)