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机器上解决了这个问题

  1. gem安装打包机
  2. 捆绑器安装
  3. 数字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位的问题,后者似乎运行良好。 以下是我如何做到的:

  1. 首先,阅读这篇博文 ,看看这是否能解决你的问题,但我不认为这会。 我用regedit.exe来查找有问题的AutoRun实例。 我没有一个,所以我尝试了下一步。

  2. 卸载RailsInstaller的Ruby 2.2版本(进入control panel > programs and features然后卸载RailsInstaller

  3. 然后,安装1.9.3版本。 去这里和CTRL + F“1.9”findRuby 1.9.3版本的RailsInstaller。

  4. 一旦安装,确保运行一个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。