2013-10-31 7 views
9

私はプロジェクトにmkdirpを使用しようとしていますが、作成したいdirパスにvarをフィードすると、その最初の半分しか作成されません。私はモジュールをnpmでローカルにインストールしました。私はラズベリーパイのノードv0.10.20を使用しています。ノードjsモジュールmkdirpはディレクトリの半分しか作成しません

var filePath = "upload/home/pi/app/temp"; 
mkdirp(filePath, function(error) { 
    if(error) { 
     console.log(error); 
    } else { 
     ... 
    } 
}); 

は、私はパスの作成中にエラーを得ることはありませんが、それだけで私は再び私のスクリプトを実行した場合しかし、それが作成し、「アップロード/ホーム/パイ」を作成します。

これは、それがどのように見えるかです残りのディレクトリ構造。アップロードは、ユーザのホームである現在の作業ディレクトリの ディレクトリです。

私は自分の媒体としてフラッシュドライブを使用していて、IO操作が完了したときにnode.jsがそれを考えるのと混同しているからですディスクへのパスが正常に書き込まれました。私はどのように私の問題に取り組まなければならないのですか?私はディレクトリが作成されているかどうかをチェックすることができ、それまではループしていると思いますが、間違ったことをするように感じます。どんな提案も大歓迎です。

ありがとうございました。

+1

うん、間違ったことでループ。 mkdirを呼び出すコールバック[...]を使用してmkdirを呼び出すコールバックを使用して手動で実行しようとしましたか? – Ryan

+0

いいえ、私はまだ、私はそれを見て、そのおかげで、ありがとうございます。しかし、ホイールを発明するにはあまりにも悪い!私はまだそれがこのように機能する理由を知りたいです。 – sacredheart

+1

[this](https://github.com/substack/node-mkdirp/issues/25)コードを試しましたか? –

答えて

0

は同期これをやってみてください。

var filePath = "upload/home/pi/app/temp"; 
mkdirp(filePath) 
関連する問題