Rails – 系统找不到指定的path
我用railsinstaller在Windows上安装了Rails和Ruby。 问题是,当我运行rails命令时,它给了我:“系统找不到指定的path。
我运行的是Windows 7 x64和Ruby 2.20。
我试着卸载Rails并再次安装; 这并没有帮助。  Ruby命令就像ruby -v一样执行,但是rails -v=工作。 
进入C:\ RailsInstaller \ Ruby2.2.0。 在一些.bat文件中,您可以find以下内容:
 @ECHO OFF IF NOT "%~f0" == "~f0" GOTO :WinNT @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" "C:/Users/emachnic/GitRepos/railsinstaller-windows/stage/Ruby2.2.0/bin/tilt" %1 %2 %3 %4 %5 %6 %7 %8 %9 GOTO :EOF :WinNT @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" "%~dpn0" %* 
删除并粘贴下面的文本:
 @ECHO OFF IF NOT "%~f0" == "~f0" GOTO :WinNT ECHO.This version of Ruby has not been built with support for Windows 95/98/Me. GOTO :EOF :WinNT @"%~dp0ruby.exe" "%~dpn0" %* 
 这是由于RailsInstaller中的一个错误,其中两个文件的ruby.exe位置是硬编码的,只能在RailsInstaller开发人员的机器上工作。 在C:\RailsInstaller\Ruby2.2.0\bin\rails.bat (这是默认的安装文件夹,如果你select了另一个安装文件夹,你可能在rails.bat地方有rails.bat ),你会发现这两行: 
 @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" "C:/Users/emachnic/GitRepos/railsinstaller-windows/stage/Ruby2.2.0/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9 @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" "%~dpn0" %* 
emachnic用户是RailsInstaller开发者。 作为解决方法,您可以将这些文件夹更改为计算机上的文件夹。 对于默认安装文件夹,您可以将其更改为:
 @"C:\RailsInstaller\Ruby2.2.0\bin\ruby.exe" "C:\RailsInstaller\Ruby2.2.0\bin\rails" %1 %2 %3 %4 %5 %6 %7 %8 %9 @"C:\RailsInstaller\Ruby2.2.0\bin\ruby.exe" "%~dpn0" %* 
 你将不得不在C:\RailsInstaller\Ruby2.2.0\bin\bundle.bat重复这个改变。 
 运行rails -v来validationrails是否正在运行。 
你可以在他们的git repo上看到这个问题: https : //github.com/railsinstaller/railsinstaller-windows/issues/70
解决scheme是在railsinstaller的github问题上指定 – https://github.com/railsinstaller/railsinstaller-windows/issues/73
 我在Sublime Text的 C:\ RailsInstaller \ Ruby2.2.0 \ bin下打开了所有.bat文件,并用Ctrl+Shift+F取代, 
 这个 
 @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" 
 有了这个 
 @"%~dp0ruby.exe" 
 跨所有匹配的文件。 
只花了几秒钟。 这可能会帮助那些在我之后绊倒它的人,并且由于在多个文件中执行查找和replace的想法而受到伤害。
我在Windows机器上解决了这个问题
- gem安装打包机
- 捆绑器安装
- 数字1和2解决了这个问题,并安装了所有的gem。
 我已经创build了一个超级简单的方法来做@ JayantBhawal的解决scheme(对我来说工作非常好)与Windows Powershell ,你应该都有,因为这似乎是Windows机器独占的问题。 它看起来很复杂,但实际上它正在用.bat文件中的%~dp0ruby.exereplaceC:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe所有实例。 只要打开PowerShell,cd到C:\RailsInstaller\Ruby2.3.0\bin ,并复制这个小脚本: 
 Get-ChildItem . -Filter *.bat | Foreach-Object { (Get-Content $_.name ) | ForEach-Object { $_ -replace "C:\\Users\\emachnic\\GitRepos\\railsinstaller-windows\\stage\\Ruby2.2.0\\bin\\ruby.exe", "%~dp0ruby.exe" } | Set-Content $_.name} 
在你敲回车之后,你会发现所有的string实例都被replace了。 GL
编辑:更新版本2.2.0 – > 2.3.0
几天前我遇到了这个问题。 在Windows上多次运行Rails后,似乎突然之间,使用cmd命令提示符,更改命令背景和文本颜色或同时打开多个命令提示符窗口,然后尝试运行命令“轨道服务器”“轨新应用程序”或“捆绑安装”您收到消息“系统找不到指定的path”
我通过运行以下命令来解决这个问题:“gem install _____”(用“bundle”,“bundler”和“byebug”填写该行),这是三个.bat文件的名称(每个都运行该命令。 bat文件名称一次一个)。 一旦你完成了,testing它! 尝试创build一个新的应用程序,捆绑安装和rails服务器。 它为我工作。
 我遇到了同样的问题,并在其工作的命令提示符下运行gem install rails 。 
问候,TS
我在早些时候研究同样的问题的时候发现了你的问题,我只是自己修复了它(Windows 8.1),所以我想我会回答它。 我试图使用RailsInstaller在Windows 8.1上运行Ruby 2.2。 我现在可以运行Ruby和Rails,虽然是旧版本。 我认为这是64位体系结构与32位的问题,后者似乎运行良好。 以下是我如何做到的:
- 
首先,阅读这篇博文 ,看看这是否能解决你的问题,但我不认为这会。 我用 regedit.exe来查找有问题的AutoRun实例。 我没有一个,所以我尝试了下一步。
- 
卸载RailsInstaller的Ruby 2.2版本(进入 control panel>programs and features然后卸载RailsInstaller。
- 
然后,安装1.9.3版本。 去这里和CTRL + F“1.9”findRuby 1.9.3版本的RailsInstaller。 
- 
一旦安装,确保运行一个 gem update --system– 系统更新所有的gem。 我运行rails new有困难,直到我做了gem更新。 现在一切正常。
所以,你会使用一个稍微旧一点的Ruby版本,但一切都应该工作正常。 这个解决scheme为我工作,我希望它适合你。
我相信上述问题的解决方法非常简单。
发生这个问题是因为在安装目录中,你拥有的批处理是默认path。 例如,假设您正在运行以下命令: bundle install现在为了执行这个命令,应该正确configurationbundlebatch file。 默认情况下,batch file将具有如下结构:
 @ECHO OFF IF NOT "%~f0" == "~f0" GOTO :WinNT @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.3.0\bin\ruby.exe" "C:/Users/emachnic/GitRepos/railsinstaller-windows/stage/Ruby2.3.0/bin/bundle" %1 %2 %3 %4 %5 %6 %7 %8 %9 GOTO :EOF :WinNT @"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.3.0\bin\ruby.exe" "%~dpn0" % 
对我来说,在C盘中安装了rails: C:\ RailsInstaller \ Ruby2.3.0 \ bin,因此上面的bundle文件应该configuration如下:
 @ECHO OFF IF NOT "%~f0" == "~f0" GOTO :WinNT @"C:/RailsInstaller/Ruby2.3.0/bin/ruby.exe" "C:/RailsInstaller/Ruby2.3.0/bin/bundle" %1 %2 %3 %4 %5 %6 %7 %8 %9 GOTO :EOF :WinNT @"C:/RailsInstaller/Ruby2.3.0/bin/ruby.exe" "%~dpn0" % 
这将解决上述问题。
无论我们面对问题运行命令,都应该应用上述解决scheme。