Я пытаюсь запустить Cygwin-версию ruby.exe из приложения .NET, но я застрял.
c:\>"c:\cygwin\bin\ruby.exe" c:\test\ruby.rb
/usr/bin/ruby: no such file to load -- ubygems (LoadError)
Как видите, Ruby не может найти библиотеки, потому что он ищет пути в стиле Linux.
Очевидно, что когда я запускаю ruby.exe из .NET, поскольку он не может найти библиотеки, происходит сбой, как указано выше.
Если я не загружаю какую-либо библиотеку, она работает нормально:
c:\>"c:\cygwin\bin\ruby.exe" -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]
Первоначально cygwin начинается с этого cygwin.bat
chdir C:\cygwin\bin
bash --login -i
Как я могу заставить .NET сначала войти в среду cygwin, а затем выполнить ruby в этой среде?
- Я не могу использовать Windows Ruby, мне нужен Cygwin Ruby.
- Я знаю о возможном использовании интерактивного вождения "bash", но это звучит грязно, если нет хорошего способа сделать это.