Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 有没有办法让鲁比·史泰勒和西格温玩得开心?_Ruby_Windows_Cygwin_Rake - Fatal编程技术网

Ruby 有没有办法让鲁比·史泰勒和西格温玩得开心?

Ruby 有没有办法让鲁比·史泰勒和西格温玩得开心?,ruby,windows,cygwin,rake,Ruby,Windows,Cygwin,Rake,我很难让jekyll在64位Windows 7上使用cygwin与Ruby一起工作。我使用rubyinstaller+devkit的效果更好。如果我能在cygwin的内部使用rubyinstaller ruby,那就太好了 然而,当我尝试执行rake时,我得到以下消息 $ rake page name="pages/about.md" C:\Ruby193\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby193/bin/rak

我很难让jekyll在64位Windows 7上使用cygwin与Ruby一起工作。我使用rubyinstaller+devkit的效果更好。如果我能在cygwin的内部使用rubyinstaller ruby,那就太好了

然而,当我尝试执行rake时,我得到以下消息

$ rake page name="pages/about.md" C:\Ruby193\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby193/bin/rake (LoadError) $rake page name=“pages/about.md” C:\Ruby193\bin\ruby.exe:没有这样的文件或目录--/cygdrive/C/Ruby193/bin/rake(LoadError)
有没有办法让rubyinstaller在cygwin上玩得更好?

问题是cygwin将所有脚本路径转换为cygwin路径(
/cygdrive/…

没有解决方案,因为脚本的调用是从bash over
rake
scrip进行的,后者调用原生Ruby

cygwin还将引发许多其他问题,其中一些问题在

另一种选择是直接调用rake.bat,跳过cygwin-shebang检测

但是cygwin不喜欢批处理文件,这会迫使您执行
cmd.exe/C rake.bat
,这是一个嘈杂的命令行

另一种选择是安装类似(
gem-install-gem-exefy
)的东西,并为已安装的gem生成可执行文件(
rake.exe

这样,您就可以调用
rake.exe
,而不是让cygwin来解决这个问题

另一种选择是使用msysbash(包含在DevKit中)而不是cygwin,cygwin比cygwin更好,但批处理文件仍然存在问题


正如您所见,将非本机(cygwin)与本机(RubyInstaller)混合使用会产生很多副作用。

我只是在我的.bash\u配置文件中添加了其中一些:

alias gem=gem.bat
alias irb=irb.bat
alias rake=rake.bat

我从来没有遇到过路易斯提到的任何问题。

谢谢!我走了那条路。一个包含.exe扩展名的小冲突,但现在至少我不必同时使用cmd.exe和cygwin:)有趣的是,cygwin 1.7?我在cygwin尝试读取批处理文件时遇到了一系列问题,但未能正确解释它们。很高兴听到批处理文件为您工作:)是的,诀窍可能是确保它们位于您的路径中,并且在运行它们时不使用完整路径谢谢,这实际上是正确的答案。要让jekyll工作,我所要做的就是为它创建一个别名。我对pry尝试了相同的方法:
alias pry=pry.bat
,但没有成功=(任何线索为什么?Thanksis pry.bat在你的路径中?可能是