問題タブ [search-path]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R で読み込まれたパッケージのリストを生成できますか?
R で必要なパッケージのリストを生成できる関数はありますか? 「ピップ フリーズ」に似たもので、環境をすばやく複製できますか?
delphi - Delphi - コンパイラがデフォルト パスで検索できないユニットのパスの検索
多くのパッケージを含むコンポーネントをダウンロードし、すべてのデザイン タイム パッケージをインストールして、他のすべての dcu ファイルを生成しました。新しいアプリケーションを作成するたびに、そのパスを Delphi 検索パスに割り当てる必要があります。そのパスを Delphi コンパイラの検索パスに一度割り当てる方法はありますか?すべてのアプリケーションがこれらのユニットにアクセスできるようになるため、新しいアプリケーションのパスを毎回手動で設定する必要はありません。
python - 開発時およびインストール時のアセット ファイルの検索 (C++/Python、主に Linux)
私のプロジェクトには、/usr/share/openage
さまざまなファイル (グラフィック、テキストなど) を含むグローバル アセット ディレクトリ ( ) と、ユーザー~/.openage
がグローバル アセットの一部を上書きしたり、独自のアセットを追加したりできるユーザー固有のアセット ディレクトリ ( ) があります。
ビルド時にインストール プレフィックスをビルド システム (例: ) に渡すと、コード (例: ) でインストール プレフィックスを使用できるようにする./configure --install-prefix=/usr
ファイル (例: ) が生成されると理解しています。次に、コードは でそのアセットを探します。ここまでは順調ですね。configure.h
#define INSTALL_PREFIX="/usr"
INSTALL_PREFIX "share/openage"
ただし、プロジェクトがまだインストールされていない場合 (開発者である私にとっては 99.9% の場合に当てはまります)、ディレクトリ/usr/share/openage
は明らかにまだ存在しません。./assets
代わりに、現在のディレクトリで使用したいと思います。さらに悪いことに、インストールされたディレクトリが存在する場合(たとえば、独立した以前のインストールから)、現在の開発バージョンとデータの互換性がない可能性があります。
同様に、インストールされたプロジェクトを実行する場合、ユーザーのホーム ディレクトリ ( ~/.openage
) をユーザー アセット ディレクトリとして使用し、"devmode" では "./userassets" のようなディレクトリを使用する必要があります。
非 POSIX プラットフォームについて考えると、さらに悪化します。Windows では、INSTALL_PREFIX
プログラムは基本的にどこにでもインストールできるため (プログラムは単純に現在の作業ディレクトリを使用するのか、それともアセット ディレクトリとして使用するのか?)、役に立ちません。
だから私の質問は:一般的に受け入れられている「これを行うための最良の方法」はありますか?確かに、何百ものプロジェクト (基本的にはアセット ディレクトリを持つすべてのプロジェクト) が、何らかの方法でこの問題に対処してきました。
残念ながら、何をグーグルで検索すればよいかさえわかりません。この質問にタグを付ける方法さえわかりません。現在のアイデア (および関連する問題) には、次のものが含まれます。
openage_version
で、ソース ディレクトリにのみ存在するファイル を探していますcwd
。存在する場合は、プロジェクトが現在アンインストールされていると想定します。- 問題: 「開発モード」であっても、
cwd
常にプロジェクトのルート ディレクトリであるとは限りません。
- 問題: 「開発モード」であっても、
readlink("/proc/self/exe")
で始まるかどうかを確認するINSTALL_PREFIX
- 問題: プラットフォーム固有
- 問題: 理論的には、プロジェクトのルート ディレクトリは
/usr/myweirdhomedirectory/git/openage
- 開発者に引数の指定
--not-installed
や環境変数の設定を強制するOPENAGE_INSTALLED=0
- 問題点: 不便
- 問題: 引数の指定を忘れると、間違ったアセット ディレクトリが使用されたときに混乱が生じる
- 開発中
./configure
、別のINSTALL_PREFIX
- 問題: インストール用にプロジェクトをビルドすると、プロジェクトがインストールされていないときに、推奨
make test
されるテストが実行されます。
- 問題: インストール用にプロジェクトをビルドすると、プロジェクトがインストールされていないときに、推奨
- 最初の 2 つのオプションの組み合わせ:
dirname(readlink("proc/self/exe")) + "/openage_version"
- 問題: さらにプラットフォーム固有
- これは、これまでのところ最も堅牢なオプションのようです
postgresql - PostgreSQL \dt コマンドで、search_path スキーマの *ALL* テーブルが表示されない
PostgreSQL で、異なるスキーマに同じ名前のテーブルがある\dt
場合、以下の例のように、検索パスにリストされた最初のスキーマのテーブルのみが含まれるのはなぜですか?
私は興味を持っている:
これが望ましい理由、および
基になるクエリが与えられた場合に実際にどのように達成されるか
\dt
(以下を参照)。
(ところで、この回答\dt *.*
から、すべてのスキーマのすべてのテーブルがリストされることに気付きましたが、以下の例では、私が行っている2つに加えて、不要な58のシステムテーブルが得られます!)
例
基礎となるクエリ\dt
(psql が -E コマンドで起動されたときに表示されます。たとえば、psql -E dt_test)
ios - Xcode ワークスペース全体でコードを共有しようとすると、「認識されないセレクターがクラスに送信されました」がクラッシュする
再現する手順:
新しい Xcode ワークスペース (WorkspaceTest) を作成します。
「One」というシングルビュー プロジェクトを作成します。
ワークスペース (プロジェクトではありません) で、「Shared」というグループを作成します。そのフォルダーに、UIColor+Hex というカテゴリを作成します。
.h:
.m:
「1 つの」ターゲット ビルド設定に移動し、ヘッダー検索パスにこれを追加します。
デフォルトの ViewController.h に移動し、これを追加します。
プロジェクトは正常にコンパイルされます。つまり、UIColor+Hex.h が見つかりました。
ただし、実行すると次のようになります。
このメソッドは UIColor+Hex.m ファイルにあります。他に何をする必要がありますか?
python - pypy プロセスの作成
PyPy を実行するプロセスを作成したいと思います。私は次のことを試しましたが、うまくいきます:
ただし、 as を削除するchdir
と:
私は得る:
作業ディレクトリを変更せずに PyPy プロセスを生成する方法を知っている人はいますか?
postgresql - エラー: 更新時にプロシージャ 0 のキャッシュ ルックアップに失敗しました
PostgreSQLに次のテーブルがあります
次の SQL スクリプトを実行しようとすると、エラーが返されます。
エラー:
同じデータベース内の別のスキーマでテストしたところ、うまくいきました。私の問題は、このスキーマに多くのテーブルと関数があることです。
新しいスキーマを作成し、テスト テーブルでテストしましたが、ダンプ ファイルを復元した後、再び機能しません。
どうすればこれを修正できますか?