「nul」という名称のRustパッケージ、Windowsユーザーに不具合
2017年5月13日 09:12
Rust言語のパッケージマネージャ「cargo」で、とある開発者が「nul」というパッケージを作成してリポジトリにアップロードしたところ、Windowsユーザーがパッケージの更新を行えなくなるという不具合が発生したそうだ(本の虫)。
Windowsでは、「nul」というファイル名は利用できないことになっている。これは、「nul」というファイル名はUNIX/Linuxで/dev/nullに相当するnullデバイス(「空のファイル」に相当)として使われているためだ。今回の問題は、「nul」というパッケージがリポジトリに追加されたため、Windows環境においてパッケージ情報の更新の際に「nul」というファイルを作成しようとするも、このファイル名を持つファイルの作成は禁止されているためエラーとなり、リポジトリ情報の更新が行えなくなるというもの。
これを受けて、Cargoリポジトリで「nul」や「con」、「prn」などのWindowsでは利用できないファイル名を持つパッケージ名の使用を禁止するという更新が行われている。