Ответ 1
Решение задано по вопросам github railsinstaller - https://github.com/railsinstaller/railsinstaller-windows/issues/73
Я установил Rails и Ruby на Windows с помощью railsinstaller. Проблема в том, что когда я запускаю команду rails, она дает мне: "Система не может найти указанный путь".
Я запускаю окна 7 x64 и Ruby 2.20.
Я попытался удалить Rails и снова установить его; это не помогает. Команды Ruby выполняются, например ruby -v
, но rails -v=
не работает.
Решение задано по вопросам github railsinstaller - https://github.com/railsinstaller/railsinstaller-windows/issues/73
Перейдите в 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 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
, чтобы проверить, что рельсы теперь работают.
Вы можете следить за этой проблемой в своем репозитории git здесь: https://github.com/railsinstaller/railsinstaller-windows/issues/70
Я открыл все .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"
по всем файлам, имеющим совпадение.
Взял всего пару секунд. Это может помочь кому-то, кто наткнулся на него после меня, и его обескураживает идея выполнить поиск и заменить на несколько файлов.
Я решил эту проблему на своей машине Windows, выполнив
Я создал супер простой способ сделать решение @JayantBhawal (отлично работал у меня) с Windows Powershell, который вы должны все это с тех пор, как это кажется проблемой, исключительной для машин Windows. Он выглядит сложным, но на самом деле все, что он делает, заменяет все экземпляры C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe
на %~dp0ruby.exe
в .bat файлах. Просто откройте Powershell, cd до C:\RailsInstaller\Ruby2.3.0\bin
и скопируйте этот небольшой script:
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(запустите эту команду с каждым именем .bat файла ONE AT TIME). Как только вы это сделаете, проверьте его! Попробуйте создать новое приложение, установить пакет и сервер rails. Это сработало для меня.
Я столкнулся с той же проблемой и запустил gem install rails
в командной строке, в которой он работает.
С уважением, T.S.
Я нашел ваш вопрос, исследуя ту же проблему раньше, и я просто исправил ее для себя (Windows 8.1), поэтому я решил ответить на нее. Я пытался запустить Ruby 2.2 на Windows 8.1 с помощью RailsInstaller. Теперь я могу запустить Ruby и Rails, хотя и более старую версию. Я думаю, что это проблема с 64-битной архитектурой или 32-разрядной версией, последняя из которых, похоже, работает нормально. Вот как я это сделал:
Сначала прочитайте этот пост в блоге и посмотрите, не решит ли это вашу проблему, хотя я не думаю, что так будет. Я использовал regedit.exe
для поиска экземпляра AutoRun. У меня его не было, поэтому я попытался сделать следующий шаг.
Удалите версию RailsInstaller версии Ruby 2.2 (перейдите в свой control panel
> programs and features
, затем удалите RailsInstaller
.
Затем установите версию 1.9.3. Перейдите здесь и CTRL + F "1.9", чтобы найти версию RailsInstaller Ruby 1.9.3.
После установки обязательно запустите gem update --system
, чтобы обновить все ваши драгоценные камни. Мне не удалось запустить rails new
, пока я не обновил gem. Теперь все работает нормально.
Итак, вы будете использовать немного более старую версию Ruby, но все должно работать нормально. Это решение сработало для меня, и я надеюсь, что это сработает для вас.
Я считаю, что исправление для вышеупомянутой проблемы очень просто.
Проблема возникает, потому что в каталоге установки пакет, который у вас есть, принимает путь по умолчанию. Например, скажем, что вы выполняете следующую команду: установить пакет Теперь, чтобы выполнить эту команду, пакетный файл пакета должен быть настроен правильно. По умолчанию пакетный файл будет иметь следующую структуру:
@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 диске: 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" %
Это позволит решить указанную выше проблему.
Вышеприведенное решение должно применяться, если мы столкнулись с проблемой выполнения команды.