1-й аргумент метода symlink()
- это целевое местоположение, используемое созданной символьной ссылкой.
Важно знать, что символическая ссылка использует 1-й аргумент в том виде, в котором он был передан! (не разрешает его как абсолютный путь!)
Вот хитрая часть, потому что 1-й аргумент выше ./testFile
символическая ссылка будет использовать этот путь для ссылки на 'testFile' в своем собственном каталоге (не в родительском каталоге)
Решения:
1: приведенный выше код может быть исправлен следующим образом (testSymLink
в каталоге testDir
ссылается на testFile
в родительском каталоге)
fs.symlink('../testFile', './testDir/testSymLink', function(err){
if(err) console.log(err);
});
2: передача абсолютного пути в качестве 1-го аргумента в методе symlink()
(это избавит вас от многих хлопот!)
fs.symlink(/* absolute path */, './testDir/testSymLink', function(err){
if(err) console.log(err);
});