問題タブ [rust-crates]

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.

0 投票する
1 に答える
765 参照

rust - 複数の非ルート バイナリからの非ルート モジュールのインポート

私は Rust を学んでいて、単純なクライアント/サーバー プログラムを作成することにしました。クライアントとサーバーの両方が、既に作成した非常に単純なモジュールを使用します。このコードが大きくなる可能性があることを知っていたので、わかりやすくするためにソースを区分することにしました。現在、私の現在の階層は次のようになります。

スタック オーバーフローとネットで見つけた例の多く 、プロジェクトのルート ディレクトリにある場合の優れたサンプルを提供します。残念ながら、上記のように別のことをしようとしています。main.rs

communicate.rs私が書いたすべてのネットワークコードが含まれています。最終的には、他の Rust ファイルをここに追加し、それらのpublic modステートメントを に含めますmod.rs。現在common/mod.rs、私が持っているのは pub mod communicate;

フォルダだけに注目すると、client私が持っているmain.rsのは示されているとおりです。ファイルの「ヘッダー」リスト

基本的な[package]セクション以外に、私が持っているのCargo.toml

クライアント バイナリをビルドしようとすると、コンパイラはcommonクレートが見つからないと文句を言います。

client/これは、フォルダ内で共通のクレートを探しているためだと思います。modステートメントの代わりにステートメントを試したときに、同じ問題が発生しましたextern crate

私にくれた:

また、(を使用して)コンテンツにaをextern crate...追加しようとしましたが、最初と同じエラーが引き続き発生します。lib.rsclientpub mod common;

このプロジェクトのようにモデル化するために見つけた1つの潜在的な解決策ですが、これにはすべてのフォルダーに必要であり、Cargo.toml避けたいものです。

近くにいるような気がしますが、何かが欠けています。

0 投票する
2 に答える
172 参照

rust - エンドユーザーのユーティリティ/アプリケーションを crates.io に登録する必要がありますか?

crates.ioに一般的に役立つ (ユーティリティ/アプリケーション) を登録することは許容されますか?

FAQはこれに対処しておらず、ブラウジングから、エンドユーザー アプリケーション (主にコマンド ライン ツール) の例があります。

それともcrates.ioですか?ライブラリのみを意味しますか?


ドキュメントはライブラリの使用、API のセマンティック バージョニングなどを示唆していますが、アプリケーションをパッケージ化するケースを明示的に参照していないため、私はこれを求めています。

0 投票する
1 に答える
1263 参照

operating-system - Crate の Cargo.toml OS 依存関係

私はmysql -crate 依存関係を含む錆びたプロジェクトを持っており、OS に依存しないようにしたいと考えています。

だから私は試しました:Cargo.toml

エラーは、最小限のメインですでに発生しています: src/main.rs

しかし、ビルドは失敗します。macos/unix では、常にパイプをコンパイルして、未解決のインポートを取得する必要があります。

Windows でも mysql クレート自体に対して同じことが起こります。

私の質問は、この場合、OS 依存関係をどのように処理すればよいですか?

0 投票する
1 に答える
93 参照

rust - Cargo.toml に openssl 0.7.14 があるのに、solicit 0.4.4 が openssl 0.9.12 を使用しようとするのはなぜですか?

Solicit の例を使用して HTTPS でリクエストを行う簡単なプロジェクトがあります。私のCargo.tomlには次のものがあります:

を実行しようとするcargo buildと、エラーは次のとおりです。

なぜ 0.7.14 ではなく 0.9.12 なのですか?