railsinstaller安装后执行rails提示系统找不到指定的路径的解决办法

windows上使用railsinstaller安装ruby和rails后,执行rails -v提示系统找不到指定的路径,网上搜索的答案也没有解释原因,故自行研究了一下原因和解决办法。

原因

railsinstaller是3.3.0版本的,安装在c盘根目录下,ruby和rails等文件在C:\RailsInstaller\Ruby2.3.0\bin目录下,查看rails.bat发现其内容如下:

@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/rails" %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" %*

可以看到其中rails使用了绝对路径,而这个路径在本地的电脑中是不存在的,安装的时候没有根据本地安装路径修改这个文件,所以在命令行中执行的时候会提示系统找不到指定的路径

解决办法

由于安装的时候已经自动给rails所在的文件夹加入了环境变量,所以直接将绝对路径改成文件名就行了:C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.3.0\bin\ruby.exe -> ruby

修改后的文件如下:

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby" "rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby" "%~dpn0" %*

类似的其他.bat文件也按找这种方法改就行了,比如bundle.bat:

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby" "bundle" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby" "%~dpn0" %*
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容