パッケージをコンパイルする必要がありますが、./configure
コマンドは機能しませんか?
次のエラーが発生します。
-bash ./configure : No such file or directory
そのスクリプトはどこにありますか?
コマンドを使用しましたが、locate
何も返しませんでした。
答え1
"configure"コマンドは標準のLinux / UNIXコマンドではありません。
configure
通常、最も標準化されたタイプのLinuxソフトウェアパッケージのソースコードに付属のスクリプトであり、ローカルLinuxシステムでコンパイルおよびロードできるようにソースコード配布を「パッチ」してローカライズするコードが含まれています。時にはconfigure
実行ビットが設定されていない状態でディスクに配置されるため、sh ./configure
次のように構成を呼び出すことができます。パッケージによって異なるため、すべての種類のREADME
ファイルを表示するように指示します。
答え2
locate
最新のデータベースがないと動作しません。
find . -type f -name configure
代わりに試してみるか、まずupdatedb
コマンドを実行してから実行してくださいlocate
(現在のパスを除外しないでください)。
ただし、まず文書を確認する必要があります。おそらく、ドキュメントのコンパイル方法がconfigure
当初、そのメカニズムを使用していない可能性があります。
答え3
通常、構成はパッケージのソースコードを抽出した後、最上位ディレクトリにあります。
例:
mst@mst-gentoo-ws /tmp $ tar -xzf nginx-1.2.0.tar.gz
mst@mst-gentoo-ws /tmp $ ls nginx-1.2.0/configure
nginx-1.2.0/configure
したがって、解凍後、新しく作成したフォルダにCDを挿入する必要がありますconfigure
。
答え4
質問を編集することはできませんが、洞察を共有したかったのです。
パッケージをコンパイルする必要がありますが、./configureコマンドが機能しませんか?
コンパイル構成は異なる可能性があるため、常に/readme.*/i(大文字と小文字を区別しない)または関連するCOMPILE.mdを見つける必要があります。
次のエラーが発生します。
-bash ./configure : 対応するファイルやディレクトリはありません。このスクリプトはどこにありますか?
存在しない可能性があります。たぶんプロジェクトが異なって構築されているかもしれませんし、拡張子が.shならそれは問題かもしれません。最初のディレクトリを見つけることはお勧めできませんls -a
。または、それがどのように呼び出されるかわからない場合(状況:このプロジェクトがどのように機能するかわからない、または参照できる文書がない場合)、次のものを使用できます。すべてのファイルを検索#!/bin/bash
または検索するには、次のコマンドを使用します。#!/bin/sh
grep
grep -Enr '#!\/bin\/(ba){0,1}sh'
正規表現を使用して-E
、すべてのサブディレクトリを再帰的にナビゲートし-r
、名前と行を返すため、非効率的になる可能性があります。プロジェクトが「奇妙な」場合(標準の構成とコンパイルプロセスはありません)、そのプロジェクトを使用できます。