3

TI 正在尝试使用 RVM 在我的系统上更新 Ruby。
我目前使用 Ruby-1.9.3-p194,一切正常。

这是我使用的命令:

$ rvm install 1.9.3-p286

这是输出:

ruby-1.9.3-p286 - #configure
ruby-1.9.3-p286 - #download
ruby-1.9.3-p286 - #extract
ruby-1.9.3-p286 - #validate
Libraries missing for ruby-1.9.3-p286: /opt/sm/pkg/versions/libffi/3.0.10/lib/libffi.5.dylib. Refer to your system manual for installing libraries
Mounting remote ruby failed, trying to compile.
Installing Ruby from source to: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286, this may take a while depending on your cpu(s)...
ruby-1.9.3-p286 - #downloading ruby-1.9.3-p286, this may take a while depending on your connection...
ruby-1.9.3-p286 - #extracting ruby-1.9.3-p286 to /Users/Tom/.rvm/src/ruby-1.9.3-p286
ruby-1.9.3-p286 - #extracted to /Users/Tom/.rvm/src/ruby-1.9.3-p286
ruby-1.9.3-p286 - #configuring
ruby-1.9.3-p286 - #compiling
ruby-1.9.3-p286 - #installing 
Error running 'make install', please read /Users/Tom/.rvm/log/ruby-1.9.3-p286/install.log
There has been an error while running make install. Halting the installation.

缺少库的第一个警告很烦人。不过,我可以处理从源代码编译它......只要它有效。

这是日志:

$ cat /Users/Tom/.rvm/log/ruby-1.9.3-p286/install.log
[2012-10-21 19:41:13] make install
./miniruby -I./lib -I. -I.ext/common  ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands:   /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/bin
installing base libraries:    /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib
installing arch files:        /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/x86_64-darwin12.2.0
installing pkgconfig data:    /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/pkgconfig
installing command scripts:   /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/bin
installing library scripts:   /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1
installing common headers:    /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/include/ruby-1.9.1
installing manpages:          /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/share/man/man1
installing extension objects: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/x86_64-darwin12.2.0
installing extension objects: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/x86_64-darwin12.2.0
installing extension objects: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin12.2.0
installing extension headers: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/include/ruby-1.9.1/x86_64-darwin12.2.0
installing extension scripts: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1
installing extension scripts: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1
installing extension scripts: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/vendor_ruby/1.9.1
installing extension headers: /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/include/ruby-1.9.1/ruby
installing default gems:      /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/gems/1.9.1 (cache, doc, gems, specifications)
/Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:244:in `mkdir': File exists - /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/gems/1.9.1 (Errno::EEXIST)
    from /Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:244:in `fu_mkdir'
    from /Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:221:in `block (2 levels) in mkdir_p'
    from /Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:219:in `reverse_each'
    from /Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:219:in `block in mkdir_p'
    from /Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:205:in `each'
    from /Users/Tom/.rvm/src/ruby-1.9.3-p286/lib/fileutils.rb:205:in `mkdir_p'
    from ./tool/rbinstall.rb:183:in `makedirs'
    from ./tool/rbinstall.rb:284:in `prepare'
    from ./tool/rbinstall.rb:539:in `block in <main>'
    from ./tool/rbinstall.rb:597:in `call'
    from ./tool/rbinstall.rb:597:in `block (2 levels) in <main>'
    from ./tool/rbinstall.rb:594:in `each'
    from ./tool/rbinstall.rb:594:in `block in <main>'
    from ./tool/rbinstall.rb:590:in `each'
    from ./tool/rbinstall.rb:590:in `<main>'
make: *** [do-install-nodoc] Error 1

我相信它说它试图写入的文件已经存在:

File exists - /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/gems/1.9.1 (Errno::EEXIST)

我检查了一下,这个文件似乎是一个不存在目录中文件的符号链接:

$ ls -GFhl /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/gems/1.9.1
lrwxr-xr-x  1 Tom  staff    39B 17 Ott 13:29 /Users/Tom/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/gems/1.9.1@ -> /Users/mpapis/.rvm/gems/ruby-1.9.3-p286

...它说/Users/mpapis/,谁是创作 RVM 的人之一。会不会是他整理安装脚本时的遗留物?

这里的这些日本人似乎能够安装它:http: //qiita.com/items/34e0ff2c369899169f90 ...仍然,我迷路了。

有人可以帮忙吗?有没有办法强制覆盖该文件?

干杯

4

1 回答 1

8

此问题已修复https://github.com/wayneeseguin/rvm/issues/1244尚不可用stable,请使用head

rvm get head
rvm reinstall 1.9.3
于 2012-10-21T18:19:39.120 回答