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.