'fs-extra' 当 运行 作为管理员并添加了策略时不允许符号链接,运行 mklink 自己可以工作吗?

'fs-extra' symlink not permitted when running as administrator and with the policy added, running mklink myself works?

我正在尝试将 this plugin 与无服务器结合使用,以使用符号链接捆绑我的依赖项。在引擎盖下,它使用 fs-extra 中的 fs.symlink,如下所示:

async function link (target, f) {
  await fs.ensureDir(path.dirname(f))
  await fs.symlink(target, f)
    .catch(e => {
      if (e.code === 'EEXIST') {
        return
      }
      throw e
    })
}

但我得到 operation not permitted symlink -> 即使在:

不知道该怎么办了。

您可能需要在 Developer mode 中使用 Windows。

否则您需要在 Windows.

时在源代码中指定 'junction' 类型
async function link (target, f) {
  await fs.ensureDir(path.dirname(f))
  await fs.symlink(target, f, 'junction')
    .catch(e => {
      if (e.code === 'EEXIST') {
        return
      }
      throw e
    })
}