2016-11-23 109 views
0

添加到gemfile失敗,因此我嘗試了gem install rabl。它失敗,出現以下錯誤消息,看起來像它的操作系統的具體...我在Windows 7和使用on Rails的5 API的Ruby 2.2符號鏈接()NotImplementedError rabl

G:/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>' 

編輯:經過大量的谷歌搜索,發現這here

嘗試使用資源部署在Windows上失敗: 符號鏈接()函數未實現本機(NotImplementedError) 上這是因爲Ruby的底層File.symlink()方法不支持Windows。

在短期內這應該在文檔中提到。長期來看,我認爲這可以通過「鏈接」指令工作的相同方式來解決。由於NTFS的限制,此方法可能無法用於軟鏈接。

因此,這絕對是Windows特有的,但想知道爲什麼沒有其他的帖子或鏈接解釋它與Windows不兼容。 在Windows中是否可以修復

+1

我強烈建議在rails開發上使用ruby上的虛擬機,在linux上你沒有這類問題。 –

回答

1

這是有爭議的,但有人說symlinking已經在Ruby 2.3上實現了。我會嘗試先安裝它。

+0

所以你的意思是它應該在ruby 2.3上工作? –

+0

即使那麼我想知道爲什麼我無法找到相關的鏈接,當我搜索帶有或沒有關鍵字'軌道',''寶石,'安裝','錯誤'......的'拉布窗'...! –

+0

這就是事實。 Ruby不主要針對Windows,Rails也沒有,因爲開發人員普遍使用的是MacOS或Linux。我強烈建議在Ubuntu中使用Vagrant。你仍然可以使用你選擇的編輯器,並擁有所有的工作寶石。 –