fs.symlink无法在Linux上创建目录符号链接

时间:2018-09-11 17:25:07

标签: javascript node.js symlink

根据Documentation创建一个dir的符号链接仅在Windows上可用。

这是我将在终端ln -r -s ../../../cloud_data/ ./src/data中使用的命令

var fs = require('fs');
var localData = './src/data';
var externalData = '../../cloud_data';

function createSym (){
    fs.symlink(externalData, localData, 'dir', function(d){
        console.info(d);
    });
}

fs.access(localData, fs.constants.F_OK, (err) => {
    if (!err) {
        createSym();
    }else{
        fs.unlink(localData, (err) => {
            if (err) createSym();
        });
    }
});

我已经为pre-build npm脚本编写了一个脏脚本,它只是创建了一个可怕的小图标,但是没有符号链接

enter image description here

在下面您可以看到我通过namo和alt拖动(在左侧cloud_data上)创建了符号链接

enter image description here

1 个答案:

答案 0 :(得分:0)

从上一张图片中,您可以看到符号链接已创建好。它显示“类型:链接”,并列出“链接目标”。

符号链接“断开”,因为目标路径不存在。

如果您有符号链接

/var/wwww/cloud/websites/www/src/data

目标为../../../cloud_data/,则对应于

/var/wwww/cloud/websites/www/src/../../../cloud_data/

减少到

/var/wwww/cloud/cloud_data/

不存在。

您是说../../../../cloud_data(还是绝对路径/var/wwww/cloud_data)吗?