125

Git Bash(Windowsの場合)を使用すると、実行可能ファイルはPATH変数にあるフォルダーにありますが、フルパスを指定せずに実行することはできません。bashがそれを認識していないようです。なんで?修正できますか?

4

21 に答える 21

77

とった。Windowsユーザーとして、私は拡張子なしで実行可能ファイル名を入力することに慣れています。私の場合、。というファイルを実行したいと思いましたcup.bat。Windowsシェルでは、入力cupするだけで十分です。Bashはこのようには機能しません。フルネームが必要です。入力cup.batすると問題が解決しました。(bashがその内容を理解できなかったため、ファイルを実行できませんでした)

posh-gitに切り替えるもう1つの理由。

私を正しい方向に向けてくれてありがとう@Tom。

于 2012-05-26T06:13:25.307 に答える
56

たぶんbashはあなたのWindowsパスを認識していません。bashと入力しenv|grep PATH、表示されるパスを確認します。

于 2012-05-21T17:51:32.687 に答える
39

@Danielのコメントに続いて、@ Tomの回答のおかげで、Git bashが実際にPATHを使用していることがわかりましたが、最近インストールした最新のパスは使用していません。この問題を回避するために、ホーム(windows)ディレクトリに次の名前のファイルを追加しました。

.bashrc

および内容は次のとおりです。

PATH=$PATH:/c/Go/bin

Goをインストールしていて、このパスに実行可能ファイルが含まれていたため、go.exe Gitbashは次のコマンドを認識できました。

go

私の場合は、システムを再起動するだけで十分だったかもしれませんが、このソリューションがどのような場合でも機能することを嬉しく思います。

于 2015-01-31T18:31:16.877 に答える
10

Gitをインストールしているときに、以下に示すオプションを選択できます。これは、パスを自動的に設定するのに役立ちます。

Gitインストールウィザード

それは私のためにうまくいきました:)

于 2013-12-06T14:41:34.040 に答える
9

C:\ Users \ USERNAMEに、config.bashrcという名前のファイルを作成します。このファイルには次のものが含まれます。

PATH=$PATH:/c/Program\ Files\ \(x86\)/Application\ with\ space

次に、コマンドラインでファイルを正しい場所に移動します。

mv config.bashrc .bashrc
于 2016-11-04T07:15:23.327 に答える
7

PATHに新しい値を追加した後、コンピューターを再起動します。

于 2017-04-25T15:38:47.563 に答える
4

古い質問ですが、それは他の誰かを助けることができます。

PATHユーザー全体を変更しました。その後、ログオフして再度ログインしました。

それだ!git bash新しいPATH値を正しくロードしました。

于 2018-04-25T13:39:42.303 に答える
3

git-bash'が存在するPATHが最新ではなく、再起動したくないがsを再生成するPATH場合は、次のことを試すことができます。

  • cmd.exeすべての、、powershell.exeを閉じてgit-bash.exe、スタートメニューまたはデスクトップコンテキストから1つのcmd.exeウィンドウを再度開きます。
  • システム全体を変更した場合はPATH、1つの特権cmdウィンドウを開く必要がある場合もあります。
  • WindowsエクスプローラのコンテキストメニューからGitbashを開き、環境PATHが更新されているかどうかを確認します。IntelliJ IDEAの端末は、おそらくログインシェルまたはその他の種類の魔法であるためPATH、IDEAを再起動するまで変更されない場合があることに注意してください。
  • それでも問題が解決しない場合は、すべてのWindows Explorerプロセスも閉じて、上記の手順を再試行する必要があります。

注:これはすべてのWindowsバージョンで機能するわけではなくcmd.exe、[スタート]メニューまたは[デスクトップ]コンテキストメニュー以外の場所で開くと機能しない場合があります。4台のコンピューターでテストし、そのうち3台が機能します。なぜこれが機能するのかわかりませんでしたが、PATHログインおよびログアウトすると環境変数が自動的に生成されるため、変数の連結でその変数を台無しにしないでください。

于 2020-04-14T02:04:08.123 に答える
2

システムを再起動すると、Windowsの環境変数に設定されたPATHがgitによって取得され、他の自動方法がないことを確認できます。

于 2017-10-26T13:14:27.150 に答える
2

古い質問ですが、環境変数には2つのタイプがあります。ユーザーが所有するものとシステム全体のもの。git bashをどのように開くか(ユーザー特権または管理者特権で)に応じて、使用される環境変数PATHは、ユーザー変数またはシステム変数から取得できます。下記参照: ここに画像の説明を入力してください

前の回答で述べたように、コマンドでenv|grep PATH使用しているものを確認し、それに応じて変数を更新します。ところで、システムを再起動する必要はありません。gitbashを閉じて再度開くだけです

于 2019-10-15T10:57:35.240 に答える
1

ここでの根本的な原因は、Git Bashが変数%USERPROFILE%を常に正しく解析できないことであると思われます。C:\ Users \\を基準にする代わりに、値C:\ Windows \ System 32 \ systemprofile \を取得します。これを完全修飾アドレスに変更すると、機能します。後で元に戻しても、GitBashは引き続き機能します。何らかの理由で正しいPATHを持っています。

于 2016-12-14T10:01:15.163 に答える
1

mingwを使用してWin10でxgboostlibをコンパイルしようとすると、この問題が発生します。ついに私は解決策を見つけました。

ホームディレクトリ(通常はC:\ Users \ username)に.bashrcという名前のファイルを作成します。次に、パスを追加します。パスに空白が含まれている場合は引用符を使用し、C:/の代わりに/c/を使用することを忘れないでください。

例えば:

PATH = $ PATH: "/ c / Program Files / mingw-w64 / x86_64-7.2.0-posix-seh-rt_v5-rev1 / mingw64 / bin"

于 2018-02-03T11:05:57.483 に答える
1

Windows 10では、gitをアンインストールして再度インストールするだけです。環境変数が自動的に設定されます。誤って環境変数を削除してしまい、IDE内でgitを使用できませんでした。gitを再インストールすると、この問題が修正されました。

于 2019-06-04T15:11:55.563 に答える
0

私にとって最も便利なのは次のとおりです。1)C:ドライブのルートにディレクトリ「bin」を作成します。2)「C:/bin;」を追加します。「マイコンピュータ->プロパティ->環境変数」のPATHへ

于 2014-09-15T22:58:23.977 に答える
0

$ PATH変数を編集/追加するときは、特殊文字をエスケープ(\)しないでください。たとえば、プログラムファイルのアプリケーションディレクトリは次のようになります。 PATH=$PATH:/c/Program Files (x86)/random/application

これを行わないでください:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/

お役に立てれば。

于 2016-08-16T22:03:42.510 に答える
0

私は自分の側で愚かな間違いに遭遇しました。システム全体で、Windows10マシンのgolangワークスペースにユーザー変数パスを設定しました。冗長システムの可変パスウェイを削除してログオフして再度ログオンすると、bashで.exeファイルを呼び出し、goenvを呼び出すことができました。

OPは回答済みですが、これはbashがあなたの経路を見るのを妨げる可能性のある別の問題です。私はこの問題でbashを再度テストしましたが、bashがいずれかのパスをたどることをブロックするある種の競合が発生しているようです。

于 2018-06-30T19:17:22.723 に答える
0

私の場合、herokucliとgitbashをインストールしているときに発生しました。これが、私が作業したことです。

この場所に着きました

C:\Users\<username here>\AppData\Local

私の場合はherokuフォルダのファイルを削除します。そこで、フォルダを削除してcmdを実行しました。動作しています

于 2019-12-14T19:48:53.220 に答える
0

WindowsオペレーティングシステムのGitbashターミナルには、システムパス/ユーザーパスを読み取ってアプリを実行する機能がありますが、次の場合に失敗する可能性があります

  1. ターミナルを閉じずに環境変数にアプリを追加
  2. MSYS/MinGWがパスを変換しています
  3. アプリは、元の呼び出し方法の代わりに共通のエイリアス名を使用しようとしているコマンド

ユースケース-1:

再起動端末が機能し、以下のコマンドを使用してパスを確認する必要があります

env|grep PATH

ユースケース-2:

例を挙げて説明しましょうdocker。このようなアプリでは、MSYSがオリジンパスを変換しているため、gitbashターミナルでは直接機能しません。このような問題の場合、コマンドを使用してパス変換を無視し、実際の実行コマンドを続行するように端末に指示する必要がある場合があります。 MSYS_NO_PATHCONV=1 たとえば、docker --help次のようになります。

MSYS_NO_PATHCONV=1  MSYS_NO_PATHCONV=1 docker run -dp 3000:3000 -w /app -v "$(pwd):/app" node:12-alpine sh -c "yarn install && yarn run dev"
717d12b9fe5211f0189ccbed0ba056ca242647812627682d0149ede29af472a4 

ユースケース-3: cli の例を使用して説明します。理想的には、システム/ユーザーパスに追加されるazWindowsでのazcliインストールです。az.cmdWindowsオペレーティングシステムでは、PowerShellまたはコマンドプロンプトのいずれかが認識 az.cmdしますazが、git bashはそれを理解しません-したがって、混乱を避けるためにエイリアスを使用してalias az='az.cmd'、実行するaz --help と機能します

于 2021-05-11T03:21:35.387 に答える
-2

Windowsシステム環境を含む上記のすべての方法を試したことがある方のために。変数、.bashrc、.bashprofileなど。そして'echo$PATH'で正しいパスを見ることができます...私はあなたのための解決策があるかもしれません。

exec 2> / dev/nullを使用してエラーを抑制します

私のスクリプトは正常に実行されますが、「コマンドが見つかりません」または「ディレクトリが見つかりません」というエラーがスローされましたが、私が知る限り、パスはフラッシュされていました。したがって、これらのエラーを抑制した場合('set + e'も追加する必要がある場合があります)、正しく機能します。

于 2018-03-02T16:26:52.667 に答える
-3

Pathという名前のユーザー変数を作成し、値%Path%として追加します。これから、Git Bashにはユーザー変数のみが表示され、システム変数は表示されないことがわかりました。上記の手順を実行することにより、ユーザー変数でシステム変数を公開します。

于 2015-04-01T14:42:56.417 に答える
-3

Windows 7のパス環境変数では、システム変数パスの最後に追加するだけです。

\; C:\ Program Files \ Git \ bin

そしてそれは今動作します!

于 2017-10-24T00:37:39.763 に答える