Rails - система не может найти указанный путь

Я установил Rails и Ruby на Windows с помощью railsinstaller. Проблема в том, что когда я запускаю команду rails, она выдает мне: "Система не может найти указанный путь".

Я использую Windows 7 x64 и Ruby 2.20.

Я попытался удалить Rails и установить его снова; это не помогает Ruby команды выполняются, как ruby -v, но rails -v= не работает

10 ответов

Решение

Перейдите в 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" %*

Это связано с ошибкой в ​​RailsInstaller, где два файла имеют расположение ruby.exe жестко запрограммирован для работы только на машине разработчика 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" %*

Пользователь 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 чтобы убедиться, что рельсы сейчас работают.

Вы можете следить за этой проблемой в их git-репо здесь: https://github.com/railsinstaller/railsinstaller-windows/issues/70

Решение указано на github проблемах railsinstaller - https://github.com/railsinstaller/railsinstaller-windows/issues/73

Я решил эту проблему на моем компьютере с Windows, выполнив

  1. gem install bundler
  2. пакетная установка
  3. Номера 1 и 2 решили проблему и установили все драгоценные камни.

Я открыл все .bat файлы в C:\RailsInstaller\Ruby2.2.0\bin в Sublime Text и заменены на Ctrl+Shift+F,

этот
@"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe"
с этим
@"%~dp0ruby.exe"
во всех файлах, которые имели совпадение.

Заняло всего пару секунд. Это может помочь кому-то, кто наткнулся на него после меня и напуган идеей поиска и замены нескольких файлов.

Я создал очень простой способ решения @JayantBhawal (отлично сработал для меня) с помощью Windows Powershell, который вы должны иметь, поскольку это кажется проблемой исключительно для компьютеров с Windows. Это выглядит сложно, но на самом деле все, что он делает, это заменяет все экземпляры C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe с %~dp0ruby.exe в.bat файлах. Просто откройте Powershell, перейдите на 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

Я сталкивался с этой проблемой пару дней назад. Кажется, что внезапно после того, как вы многократно запускаете Rails в Windows, играете с командной строкой cmd, меняете цвет фона команды и текста или открываете более одного окна командной строки одновременно, а затем вы пытаетесь запустить По команде 'rails server' 'rails new App' или 'bundle install' вы получите сообщение "Система не может найти указанный путь"

Я решил эту проблему, выполнив команду: 'gem install _____' (заполните эту строку с помощью: 'bundle', 'bundler' и 'byebug'), которые являются именами трех файлов.bat (запустите эту команду с каждым. имя файла летучей мыши ОДИН ВРЕМЯ). Как только вы это сделаете, проверьте это! Попробуйте создать новое приложение, установить пакет и сервер rails. Это сработало для меня.

Я столкнулся с той же проблемой и работает gem install rails в командной строке это работает.

С уважением, ТС

Я считаю, что решение вышеуказанной проблемы очень просто.

Проблема возникает из-за того, что в каталоге установки ваш пакет выбирает путь по умолчанию. Например, предположим, что вы выполняете следующую команду: bundle install Now Для выполнения этой команды ваш пакетный файл пакета должен быть правильно настроен. По умолчанию пакетный файл будет иметь примерно такую ​​структуру:

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

Это решит вышеуказанную проблему.

Вышеуказанное решение должно применяться везде, где мы сталкиваемся с проблемой запуска команды.

Я нашел ваш вопрос во время исследования той же проблемы ранее, и я просто исправил ее для себя (Windows 8.1), поэтому я решил ответить на нее. Я пытался запустить Ruby 2.2 в Windows 8.1 с помощью RailsInstaller. Теперь я могу запускать 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", чтобы найти версию RailsInstaller для Ruby 1.9.3.

  4. После установки обязательно запустите gem update --system обновить все ваши драгоценные камни. У меня были проблемы с бегом rails new пока я не сделал обновление драгоценного камня. Теперь все работает отлично.

Итак, вы будете использовать немного более старую версию Ruby, но все должно работать нормально. Это решение сработало для меня, и я надеюсь, что оно работает для вас.

Другие вопросы по тегам