Pada Windows 7 Professional 64 Bit yang baru diinstal saya menginstal Cygwin (64) dan beberapa paketnya, termasuk Ruby. Saya juga telah menginstal Ruby menggunakan installer Ruby, karena saya mungkin akan membutuhkannya untuk shell Windows default dan Cygwin.
Sekarang ketika saya mencoba menjalankan a gem
perintah suka gem list
atau gem install foo
, Saya mendapatkan kesalahan aneh yang gagal saya selesaikan dalam beberapa jam terakhir pencarian di internet.
$ which ruby
/usr/bin/ruby
$ which gem
/usr/bin/gem
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-cygwin]
$ gem -v
2.4.8
$ gem list
ERROR: Loading command: list (Fiddle::DLError)
can't load kernel32
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
$ gem install sass
ERROR: Loading command: install (Fiddle::DLError)
can't load kernel32
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
Namun, dengan versi Windows asli, dari Windows CMD, ia berfungsi tanpa masalah. Namun saya tidak dapat menggunakan hal-hal asli Windows Ruby dari Cygwin, karena itu memberi saya kesalahan, tapi itu bukan pertanyaannya di sini.
Dengan Process Monitor saya tahu bahwa Ruby mencoba untuk membuka C:\cygwin64\bin\kernel32.dll
dan gagal, karena file itu tidak ada. Saya mencoba menyalin kernel32.dll
dari C:\Windows\System32
dan yang dari C:\Windows\SysWOW64
ke dalam Cygwin itu bin
folder dan masih mendapat kesalahan yang sama (terlepas dari itu katanya tidak dapat memuat kernel32.dll ), meskipun Monitor Proses tidak menunjukkan a NAME NOT FOUND
kesalahan lagi.
Sihir apa yang terjadi di sini? Saya benar-benar ingin memahami apa yang salah di sini. Saya menghargai bantuan apa pun.