ruby-Rails-系统找不到指定的路径

我已经使用railsinstaller在Windows上安装了Rails和Ruby。 问题是,当我运行rails命令时,它给了我:“系统找不到指定的路径。”

我正在运行Windows 7 x64和Ruby 2.20。

我尝试卸载Rails并重新安装; 那没有帮助。 像ruby -v一样执行Ruby命令,但是rails -v=无法正常工作。

Javid Askerov asked 2019-11-17T22:08:16Z
10个解决方案
101 votes

进入C:\ RailsInstaller \ Ruby2.2.0。 在某些.bat文件中,您将找到以下内容:

@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" %*
Raymond R answered 2019-11-17T22:08:34Z
43 votes

这是由于RailsInstaller中的错误所致,其中两个文件的位置都经过硬编码rails -v,以仅在RailsInstaller开发人员的计算机上工作。 在C:\RailsInstaller\Ruby2.2.0\bin\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" %*

熟练的用户是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" %*

您还必须在rails -v中的两个类似行中重复此更改。

运行rails -v以验证导轨现在可以正常工作。

您可以在其git仓库中关注此问题:[https://github.com/railsinstaller/railsinstaller-windows/issues/70]

Al Sweigart answered 2019-11-17T22:09:26Z
20 votes

该解决方案在railsinstaller的github问题上指定-[https://github.com/railsinstaller/railsinstaller-windows/issues/73]

Javid Askerov answered 2019-11-17T22:09:50Z
9 votes

我在Sublime Text中的C:\ RailsInstaller \ Ruby2.2.0 \ bin下打开了所有2618770843383628文件,并替换为@"%~dp0ruby.exe"

这个
@"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe"
有了这个
@"%~dp0ruby.exe"
匹配的所有文件。

只花了几秒钟。 这可能会帮助那些在我之后偶然发现它并被执行查找并替换多个文件的想法所吓倒的人。

Jayant Bhawal answered 2019-11-17T22:10:48Z
9 votes

我通过在Windows机器上解决了这个问题

  1. gem安装捆绑器
  2. 捆绑器安装
  3. 1号和2号解决了该问题,并安装了所有宝石。
Serge_k answered 2019-11-17T22:11:27Z
3 votes

我已经创建了使用Windows Powershell进行@JayantBhawal的解决方案(对我来说非常好)的超级简单方法,您应该都应该拥有它,因为这似乎是Windows机器独有的问题。 它看起来很复杂,但实际上它要做的就是用.bat文件中的%~dp0ruby.exe替换所有C:\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}

按下Enter键后,您应该发现该字符串的所有实例已被替换。 GL

编辑:更新版本2.2.0-> 2.3.0

feihcsim answered 2019-11-17T22:12:05Z
2 votes

几天前,我遇到了这个问题。 在Windows上多次运行Rails,玩cmd命令提示符,更改命令背景和文本颜色或同时打开多个命令提示符窗口之后,似乎突然间,然后尝试运行 命令“ rails server”,“ rails new App”或“ bundle install”,您将收到消息“系统找不到指定的路径”

我通过运行以下命令解决了该问题:'gem install _____'(用'bundle','bundler'和'byebug'填写该行),它们是三个.bat文件的名称(以每个.bat文件名一次运行该命令)。 完成后,进行测试! 尝试创建一个新应用,捆绑安装和Rails服务器。 它为我工作。

Ernie Plez answered 2019-11-17T22:12:39Z
1 votes

我遇到了相同的问题,并在命令提示符下运行gem install rails

问候,T.S.

Tony Stark answered 2019-11-17T22:13:11Z
0 votes

我在较早研究相同问题时发现了您的问题,并且我只是为自己修复了问题(Windows 8.1),所以我想我会回答。 我试图使用RailsInstaller在Windows 8.1上运行Ruby 2.2。 我现在可以运行Ruby和Rails,尽管版本较旧。 我认为这是64位体系结构与32位体系结构的问题,后者似乎可以正常运行。 这是我的操作方式:

  1. 首先,请阅读此博客文章,看看这是否可以解决您的问题,尽管我认为不会。 我使用gem update --system查找有问题的AutoRun实例。 我没有一个,所以我尝试了下一步。

  2. 卸载Ruby 2.2版本的RailsInstaller(进入gem update --system> rails new,然后卸载RailsInstaller

  3. 然后,安装1.9.3版本。 转至此处,然后按CTRL + F“ 1.9”以找到RailsInstaller的Ruby 1.9.3版本。

  4. 安装后,请确保运行gem update --system更新所有的gem。 在执行gem更新之前,我无法运行rails new。 现在一切正常。

因此,您将使用稍旧的Ruby版本,但一切都应该正常进行。 该解决方案对我有用,我希望对您有用。

Allen answered 2019-11-17T22:14:11Z
0 votes

我相信解决上述问题的方法非常简单。

之所以发生此问题,是因为安装目录中的批次采用默认路径。 例如,假设您正在运行以下命令:捆绑安装现在,为了执行此命令,应正确配置捆绑包批处理文件。 默认情况下,批处理文件将具有以下结构:

@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" %

对我来说,rails安装在C驱动器中:C:\ RailsInstaller \ Ruby2.3.0 \ bin因此,上面的捆绑文件应配置如下:

@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" %

这将解决上述问题。

无论何时遇到运行命令问题,都应采用上述解决方案。

Pranjal Prakash Srivastava answered 2019-11-17T22:15:03Z
translate from https://stackoverflow.com:/questions/35545361/rails-the-system-cannot-find-the-path-specified