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

时间:2016-02-22 03:31:01

标签: ruby-on-rails ruby windows

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

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

我尝试卸载Rails并重新安装它;这没有用。 Ruby命令执行,如ruby -v,但rails -v=不起作用。

9 个答案:

答案 0 :(得分:100)

进入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" %*

答案 1 :(得分:42)

这是由于RailsInstaller中的一个错误,其中两个文件的位置ruby.exe是硬编码的,只能在RailsInstaller dev的机器上运行。在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" %*

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以验证rails现在正在运行。

您可以在此处关注此问题:https://github.com/railsinstaller/railsinstaller-windows/issues/70

答案 2 :(得分:20)

解决方案是在railsinstaller - https://github.com/railsinstaller/railsinstaller-windows/issues/73

的github问题上指定的

答案 3 :(得分:9)

我在 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"
跨所有匹配的文件。

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

答案 4 :(得分:9)

我通过

在我的Windows机器上解决了这个问题
  1. gem install bundler
  2. bundler install
  3. 1号和2号修复了问题并安装了所有宝石。

答案 5 :(得分:3)

我用Windows Powershell创建了一个超级简单的方法来处理@ JayantBhawal的解决方案(对我来说非常好),你应该都有,因为这似乎是Windows机器独有的问题。它看起来很复杂,但它真正做的就是用.bat文件中的C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe替换%~dp0ruby.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

答案 6 :(得分:2)

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

我通过运行命令解决了这个问题: 'gem install _____'(用'bundle','bundler'和'byebug'填写该行),这三个.bat文件的名称(运行该命令时每个.bat文件名为ONE AT A TIME)。完成后,测试一下!尝试创建一个新的应用程序,捆绑安装和rails服务器。它对我有用。

答案 7 :(得分:1)

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

此致 T.S。

答案 8 :(得分:0)

我在早些时候研究同样的问题时发现了你的问题,我只是为自己解决了这个问题(Windows 8.1)所以我想我会回答它。我试图使用RailsInstaller在Windows 8.1上运行Ruby 2.2。我现在能够运行Ruby和Rails,虽然是旧版本。我认为这是64位架构与32位架构的问题,后者似乎运行良好。我是这样做的:

  1. 首先,请阅读this blog post,看看这是否能解决您的问题,但我认为不会。我使用regedit.exe来查找有问题的AutoRun实例。我没有,所以我尝试了下一步。

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

  3. 然后,安装1.9.3版本。转到here和CTRL + F“1.9”找到RailsInstaller的Ruby 1.9.3版本。

  4. 安装完成后,请务必运行gem update --system来更新所有宝石。在运行gem更新之前,我无法运行rails new。现在一切正常。

  5. 所以,你将使用稍微旧版本的Ruby,但一切都应该正常工作。这个解决方案对我有用,我希望它适合你。