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.exe
replaceC:\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。