尝试使用Node.js创建工作目录并将其更改为临时文件夹时,我得到了一些意想不到的结果。
以下是一些代码:
var path = require('path')
var fse = require('fs-extra')
var TEST_DIR = path.join(os.tmpdir(), 'mydir') // creates temp path
fse.emptyDirSync(TEST_DIR) // creates the dirs recursively
process.chdir(TEST_DIR) // changes the CWD
assert.equal(process.cwd(), TEST_DIR) // assert that these are the same
这是返回的内容:
AssertionError: '/private/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/mydir' == '/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/mydir'
+ expected - actual
-/private/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/recursive-deps
+/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/recursive-deps
由于某些原因,TEST_DIR
没有private
前缀,而CWD在private
中开头。这是怎么回事?
答案 0 :(得分:0)
我遇到了类似的问题。我怀疑那里有一个符号链接。你可以做这样的事情来获得实际的路径:
var TEST_DIR = fs.realpathSync(path.join(os.tmpdir(), 'mydir'))