Javascript 意外地在';私人';将工作目录更改为临时文件夹时的文件夹
在尝试使用Node.js创建工作目录并将其更改为临时文件夹时,我得到了一些意外的结果 下面是一些代码:Javascript 意外地在';私人';将工作目录更改为临时文件夹时的文件夹,javascript,node.js,operating-system,temp,Javascript,Node.js,Operating System,Temp,在尝试使用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(
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\u DIR
没有private
前缀,CWD在private
中的前面。这里发生了什么事?我也遇到了类似的问题。我怀疑那里有个符号链接。您可以执行以下操作以获取实际路径:
var TEST\u DIR=fs.realpathSync(path.join(os.tmpdir(),'mydir'))
嘿,你找到解决此冲突的方法了吗?@skymk没有,仍然不确定为什么会发生这种情况。