2016-06-13 35 views
0

我被要求查看一些Ruby代码。开发人员运行OSX,我在Windows上。所有在OSX上工作正常,但我得到一个与Scrypt 2.1.1错误。Ruby Gem Scrypt 2.1.1不会在Windows上安装

Ruby被要求运行:gem install scrypt -v '2.1.1'这会导致错误。 当我做gem install scrypt -v '2.1.1' --platform=ruby它完全相反,所有的宝石已安装。

现在,当我重新创建GemFile或更新它,我仍然收到错误,并且再次建议运行gem install scrypt -v '2.1.1'

我得到的输出是:

Installing scrypt 2.1.1 with native extensions 

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

current directory: <MyProject>/vendor/bundle/ruby/2.3.0/gems/scrypt-2.1.1/ext/scrypt 
C:/Ruby23-x64/bin/ruby.exe -rubygems <MyProject>/vendor/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake RUBYARCHDIR=<MyProject>/vendor/bundle/ruby/2.3.0/extensions/x64-mingw32/2.3.0/scrypt-2.1.1 RUBYLIBDIR=<MyProject>/vendor/bundle/ruby/2.3.0/extensions/x64-mingw32/2.3.0/scrypt-2.1.1 
rake aborted! 
LoadError: cannot load such file -- ffi_c 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/ffi-1.9.10-x64-mingw32/lib/ffi.rb:6:in `rescue in <top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/ffi-1.9.10-x64-mingw32/lib/ffi.rb:3:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/ffi-compiler-0.1.3/lib/ffi-compiler/compile_task.rb:4:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/scrypt-2.1.1/ext/scrypt/Rakefile:1:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake:27:in `<main>' 
LoadError: cannot load such file -- 2.3/ffi_c 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/ffi-1.9.10-x64-mingw32/lib/ffi.rb:4:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/ffi-compiler-0.1.3/lib/ffi-compiler/compile_task.rb:4:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/scrypt-2.1.1/ext/scrypt/Rakefile:1:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake:27:in `<main>' 
LoadError: cannot load such file -- ffi-compiler/compile_task 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/scrypt-2.1.1/ext/scrypt/Rakefile:1:in `<top (required)>' 
<MyProject>/vendor/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake:27:in `<main>' 
(See full trace by running task with --trace) 

rake failed, exit code 1 

Gem files will remain installed in <MyProject>/vendor/bundle/ruby/2.3.0/gems/scrypt-2.1.1 for inspection. 

我看了一下,搜查谷歌和Bing,但没有所得溶液中。

希望有人在这里的社区可以帮助我找到解决方案。

感谢, 伊万

+0

你要么没有安装devkit,要么你的注册表搞乱了。看看这里的步骤:http://stackoverflow.com/a/21610123/1482694 – Sam

+0

devKit安装和注册表没有搞乱,或至少在链接的文章中的所有检查通过成功。 尝试了32位安装,因为我正在使用64位安装,并且有相同的问题。 – Iwan

+0

所以你已经尝试了这里列出的一切:https://github.com/oneclick/rubyinstaller/wiki/Troubleshooting#error-failed-to-build-gem-native-extension? – Sam

回答

0
gem install ffi --platform=ruby 
gem install scrypt -v 2.2.1 

为我工作。