web-dev-qa-db-ja.com

Rails-システムは指定されたパスを見つけることができません

Railsinstallerを使用して、WindowsにRailsおよびRubyをインストールしました。問題は、Railsコマンドを実行すると、「システムは指定されたパスを見つけることができません」ということです。

Windows 7 x64およびRuby 2.20を実行しています。

Railsをアンインストールして、もう一度インストールしてみました。それは助けにはなりません。 RubyコマンドはRuby -vと同様に実行されますが、Rails -v=は機能しません。

55
Javid Askerov

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" %*
101
Raymond R

これは、RailsInstallerのバグが原因です。2つのファイルは、Ruby.exeの場所がRailsInstaller開発者のマシンでのみ動作するようにハードコードされています。 C:\RailsInstaller\Ruby2.2.0\bin\Rails.bat(これはデフォルトのインストールフォルダーです。別のインストールフォルダーを選択した場合は、Rails.batが他の場所にある可能性があります)次の2行があります。

@"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の同様の2行についても、この変更を繰り返す必要があります。

Rails -vを実行して、Railsが機能していることを確認します。

Gitリポジトリでこの問題をフォローできます: https://github.com/railsinstaller/railsinstaller-windows/issues/7

43
Al Sweigart

解決策は、railsinstallerのgithubの問題で指定されています- https://github.com/railsinstaller/railsinstaller-windows/issues/7

20
Javid Askerov

C:\ RailsInstaller\Ruby2.2.0\bin in Sublime Textですべての.batファイルを開き、Ctrl+Shift+Fに置き換えました。

この
@"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\Ruby.exe"
これとともに
@"%~dp0Ruby.exe"
一致したすべてのファイル。

ほんの数秒かかりました。これは、私の後につまずき、複数のファイルで検索と置換を実行するというアイデアに気が進まない人を助けるかもしれません。

9
Jayant Bhawal

私はWindowsマシンでこの問題を解決しました

  1. gem install bundler
  2. バンドラーのインストール
  3. 番号1と2は問題を修正し、すべてのgemをインストールしました。
9
Serge_k

Windows Powershell を使用して@JayantBhawalのソリューションを実行する非常に簡単な方法を作成しました(私にとっては完全にうまく機能しました)。複雑に見えますが、実際には、.batファイルのC:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\Ruby.exeのすべてのインスタンスを%~dp0Ruby.exeに置き換えるだけです。 Powershellを開き、C:\RailsInstaller\Ruby2.3.0\binにcdして、この小さなスクリプトをコピーします。

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

3
feihcsim

数日前にこの問題に出会いました。 WindowsでRailsを何度も実行し、cmdコマンドプロンプトで遊んだり、コマンドの背景色とテキストの色を変更したり、複数のコマンドプロンプトウィンドウを同時に開いたりした後、突然「Railsサーバー」「Rails新しいアプリ」または「バンドルインストール」コマンドを実行しようとすると、「指定されたパスが見つかりません」というメッセージが表示されます

3つの.batファイルの名前である「gem install _____」(その行に「bundle」、「bundler」、「byebug」を入力)コマンドを実行することでこの問題を解決しました(各コマンドでそのコマンドを実行します)。 batファイル名ONE AT A TIME)。それができたら、テストしてください!新しいアプリ、バンドルインストール、Railsサーバーを作成してみてください。それは私のために働いた。

2
Ernie Plez

同じ問題が発生し、コマンドプロンプトでgem install Railsを実行すると動作します。

よろしく、T.S。

1
Tony Stark

上記の問題の修正は非常に簡単だと思います。

この問題は、インストールディレクトリ内のバッチがデフォルトパスを使用しているために発生しています。たとえば、次のコマンドを実行しているとしましょう:bundle installここでこのコマンドを実行するには、バンドルバッチファイルを正しく設定する必要があります。デフォルトでは、バッチファイルの構造は次のようになります。

@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 driveにインストールされます: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)、答えを出そうと思いました。 RailsInstallerを使用して、Windows 8.1でRuby 2.2を実行しようとしました。古いバージョンではありますが、RubyとRailsを実行できるようになりました。これは、32ビットではなく64ビットアーキテクチャの問題だと思います。以下がその方法です。

  1. 最初に このブログ投稿 を読み、これがあなたの問題を解決するかどうかを確認しますが、そうなるとは思いません。 regedit.exeを使用して、問題のAutoRunインスタンスを見つけました。持っていなかったので、次のステップを試しました。

  2. RailsInstallerのRuby 2.2バージョンをアンインストールします(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を更新してください。 gemの更新を行うまで、Rails newの実行に問題がありました。今、すべてが正常に動作します。

そのため、Rubyの少し古いバージョンを使用しますが、すべて正常に動作するはずです。このソリューションは私のために働いた、私はそれがあなたのために働くことを願っています。

0
Allen