bundler выбрасывает user_interaction.rb: 534: в 'initialize': такого файла или каталога нет - nul (Errno :: ENOENT) - PullRequest
1 голос
/ 02 февраля 2011

После обновления до rubygems 1.5.0 я получаю это сообщение об ошибке при попытке запустить пакетную установку.

Я работаю в среде cygwin с ruby ​​1.8.7 и bundler v 1.0.10

bundler выбрасывает user_interaction.rb: 534: в 'initialize': такого файла или каталога нет - nul (Errno :: ENOENT)

Не могу понять, что является причиной этого.

1 Ответ

1 голос
/ 04 февраля 2011

У меня тоже такая же проблема, я запускаю rubygems 1.5.0, ruby ​​1.9.2 и bundler 1.0.10 на cygwin, и каждый раз, когда я пытаюсь запустить bundle, я получаю ту же ошибку.

На самом деле, я только что понял это.Я предполагаю, что вы также используете Cygwin, так как вот код, который вызывает проблему:

(in ... / user_interaction.rb: 534)

if Gem.win_platform?
  reader = File.open('nul', 'r')
  writer = File.open('nul', 'w')
else
  reader = File.open('/dev/null', 'r')
  writer = File.open('/dev/null', 'w')
end

Видите, он думаетвы используете Windows, когда на самом деле вы используете Linux в Cygwin.Так что просто закомментируйте все, кроме двух строк reader = File.open('/dev/null', 'r') и writer = File.open('/dev/null/, /w/), и все должно быть хорошо.

Очевидно, что это грубое решение, но оно работает, если вы не выполняете то же самоеустановка rubygems на Windows изначально.

...