2017-05-22 1 views
1

우분투에서 node.js 응용 프로그램을 개발 중이며 사용자 홈 디렉토리에 응용 프로그램 용 디렉토리를 프로그래밍 방식으로 만들려고합니다.nodejs를 사용하여 사용자 홈에 디렉토리를 만들려면 어떻게해야합니까?

나는 노드에서 다음 자바 스크립트를 실행하면 :

const fs = require("fs"); 
fs.mkdirSync("~/mynewdir"); 

나는 다음과 같은 오류 얻을 :

Error: ENOENT: no such file or directory, mkdir '~/mynewdir' 
    at Error (native) 
    at Object.fs.mkdirSync (fs.js:923:18) 
    at repl:1:4 
    at sigintHandlersWrap (vm.js:22:35) 
    at sigintHandlersWrap (vm.js:73:12) 
    at ContextifyScript.Script.runInThisContext (vm.js:21:12) 
    at REPLServer.defaultEval (repl.js:346:29) 
    at bound (domain.js:280:14) 
    at REPLServer.runBound [as eval] (domain.js:293:12) 
    at REPLServer.<anonymous> (repl.js:545:10) 

가 실행 : 잘

fs.mkdirSync("/home/dah/mynewdir"); 

일을하지만, 그러나 나는 원하는 스크립트를 실행중인 사용자의 홈 디렉토리를 사용합니다.

누구에게 의견이 있습니까?

수정 -이 질문은 복제가 아닙니다. 이 경우 문제는 홈 디렉토리를 찾지 못했지만 fs 모듈이 홈 디렉토리를 사용하지 않는 이유는 무엇입니까?

+2

의 사용 가능한 복제 [Node.js를 - 플랫폼 불가지론 방법으로 홈 디렉토리 찾기] (https://stackoverflow.com/questions/9080085/node-js- find-home-directory-in-platform-agnostic-way) – imjared

+0

이것은 중복되지 않습니다. 문제는 홈 디렉토리를 찾는 것이 아니라 nodejs fs 패키지가 예상대로 사용하지 않는 이유입니다. –

답변

3

당신은 그런 식으로 작업을 수행 할 수 있습니다

const homedir = require('os').homedir(); 
// `homedir()` returns absolute path so we use `join` here 
require("fs").mkdir(require('path').join(homedir, 'mynewdir')); 
+0

도움에 큰 감사드립니다. –

관련 문제