在将工作目录更改为临时文件夹时,意外地出现在“专用”文件夹中
尝试使用Node.js创build工作目录并将其更改为临时文件夹时,出现了一些意外的结果。
这是一些代码:
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
前面。 这里发生了什么事?
我有一个类似的问题。 我怀疑在那里有一个符号链接。 你可以做这样的事情来得到实际的path:
var TEST_DIR = fs.realpathSync(path.join(os.tmpdir(), 'mydir'))