symlink()NotImplementedError rabl [英] symlink() NotImplementedError rabl
问题描述
添加到 gemfile
失败,因此我尝试了 gem install rabl
。它失败,出现以下错误消息,看起来像它的操作系统特定...我在Windows 7上,并在Rails 5 api上使用Ruby 2.2
G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:388:在`symlink'中:symlink()函数在这台机器上未实现(NotImplementedError)
从G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:388:在`block(2级)in extract_tar_gz'
from G:/ Ruby / ruby / lib / ruby / site_ruby / 2.2.0 / rubygems / package / tar_reader.rb:65:在`each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb: 365:in`block in extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:459:in`block in open_tar_gz'
from G :/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:456:在`wrap'中
来自G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/ rubygems / package.rb:456:在`open_tar_gz'中
来自G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubyg ems / package.rb:364:在`extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:345:在`block(2 levels)in extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/tar_reader.rb:65:在`each'
from G:/ Ruby / ruby / lib / ruby / site_ruby / 2.2.0 / rubygems / package.rb:342:在`block in extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/ file_source.rb:30:在`open'中
从G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/file_source.rb:30:在`with_read_io'
从G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:339:在`extract_files'
从G:/Ruby/ruby/lib/ruby/site_ruby/2.2。 0 / rubygems / installer.rb:772:在`extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/installer.rb:302:在`install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/resolver/specification.rb:97:在`install'$ b中$ b from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:166:在`block in install'
from G:/ Ruby / ruby / lib / ruby / site_ruby / 2.2.0 / rubygems / request_set.rb:156:在`each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:156:在`从G安装'
':/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:205:'install_gem'
from G:/ Ruby / ruby / lib / ruby / site_ruby / 2.2.0 / rubygems / commands / install_command.rb:255:在`block in install_gems'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/命令/ install_command.rb:251:在`每个'中
来自G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:251:在`install_gems'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:158:在`execute'
从G:/ Ruby / ruby / lib / ruby / site_ruby / 2.2.0 / rubygems / command.rb:310:在`invoke_with_build_args'
从G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command_manager.rb:169:在`process_args'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2。 0 / rubygems / command_manager.rb:139:在'run'中
从G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/gem_runner.rb:55:在'run'中
from G:/ Ruby / ruby / bin / gem:21:in< main>'
< hr>
编辑:大量搜索结果后,发现 symlink ()函数在此机器上未实现(NotImplementedError) 在短期内,这应该在文档中提及。长期来看,我认为这可以通过链接指令工作的相同方式来解决。由于NTFS的限制,此方法可能无法用于软链接。 所以,它绝对是Windows特有的,但想知道为什么没有其他帖子或链接说明它与Windows不兼容。 在Windows中是不是可以修复 ? 这是有争议的,但有人说在Ruby 2.3上实现了符号链接。我会尝试先安装它。 Adding to
Edit: After lots of googling, found this here Attempting to use the deploy resource on Windows fails with:
symlink() function is unimplemented on this machine (NotImplementedError)
This is because Ruby's underlying File.symlink() method does not support Windows. In the short-term this should be mentioned in the docs. Longer term I think this could be fixed in the same way that the "link" directive works. This method may not work for soft links due to limitations with NTFS. So, it is definitely Windows specific, but wondering why there's no other post or link explaining that its incompatible with Windows. Isn't this fixable in Windows? This is controversial, but some say symlinking has been implemented on Ruby 2.3. I would try installing it first. 这篇关于symlink()NotImplementedError rabl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
这是因为Ruby的底层File.symlink()方法不支持Windows。
gemfile
failed and hence I tried gem install rabl
. It fails with the following error message, looks like its OS specific... I'm on Windows 7 and using Ruby 2.2 on Rails 5 apiG:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:388:in `symlink': symlink() function is unimplemented on this machine (NotImplementedError)
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:388:in `block (2 levels) in extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/tar_reader.rb:65:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:365:in `block in extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:459:in `block in open_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:456:in `wrap'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:456:in `open_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:364:in `extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:345:in `block (2 levels) in extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/tar_reader.rb:65:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:342:in `block in extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/file_source.rb:30:in `open'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/file_source.rb:30:in `with_read_io'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:339:in `extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/installer.rb:772:in `extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/installer.rb:302:in `install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/resolver/specification.rb:97:in `install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:166:in `block in install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:156:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:156:in `install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:205:in `install_gem'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:255:in `block in install_gems'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:251:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:251:in `install_gems'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:158:in `execute'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command.rb:310:in `invoke_with_build_args'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command_manager.rb:169:in `process_args'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command_manager.rb:139:in `run'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/gem_runner.rb:55:in `run'
from G:/Ruby/ruby/bin/gem:21:in `<main>'