2015-08-05 4 views
2

Je reçois des résultats inattendus lorsque je tente de créer et de modifier le répertoire de travail dans un dossier temporaire avec Node.js.De façon inattendue dans le dossier 'private' lors de la modification du répertoire de travail dans un dossier temporaire

Voici quelques code:

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 

C'est ce retour:

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 

Pour une raison quelconque le TEST_DIR n'a pas le préfixe private et l'encéphalopathie des cervidés est préfacé au sein private. Qu'est-ce qu'il se passe ici?

+0

Hé, avez-vous trouvé un moyen de résoudre ce conflit? – skymk

+0

@skymk nope, toujours pas sûr pourquoi cela arrive. – ThomasReggi

Répondre

0

J'avais un problème similaire. Je soupçonne qu'il y a un lien symbolique quelque part. Vous pouvez faire quelque chose comme ça pour obtenir le chemin réel:

var TEST_DIR = fs.realpathSync(path.join(os.tmpdir(), 'mydir'))