如何将chmod与Node一起使用.js?

fs中有一个方法,应该可以做到这一点,但我不知道第二个参数是什么.

fs.chmod(path, mode, [callback])

异步chmod(2).除了一个可能的异常之外,不会给完成回调提供任何参数.

fs.chmodSync(path, mode)

同步chmod(2).

(来自Node.js documentation人)

如果我做了类似的事情

fs.chmodSync('test', 0755);

什么都没有发生(文件未更改为该模式).

fs.chmodSync('test', '+x');

也不管用.

顺便说一句,我在Windows机器上工作.

推荐答案

根据第508行的源代码/lib/fs.js:

fs.chmodSync = function(path, mode) {
  return binding.chmod(pathModule._makeLong(path), modeNum(mode));
};

第203行:

function modeNum(m, def) {
  switch (typeof m) {
    case 'number': return m;
    case 'string': return parseInt(m, 8);
    default:
      if (def) {
        return modeNum(def);
      } else {
        return undefined;
      }
  }
}

它要么是一个八进制数,要么是一个字符串.

例如

fs.chmodSync('test', 0755);
fs.chmodSync('test', '755');

它在您的情况下不起作用,因为文件模式只存在于*nix机器上.

Node.js相关问答推荐

序列化事务未按预期工作

可以删除一个mongodb catch块

对接Nestjs/VueJS应用程序

容器端口是容器内 node 应用程序的端口吗?

使用ReadableStream.管道时NodeJS Crypto Hash不正确

EJS ForEach循环标记

Socket.io 未将用户加入给定房间

更新 mongodb 中的交易值

在生产环境中,Nest实例启动时抛出不完整的导入错误

仅在 vue 脚本未退出的情况下使用 docker 时出现错误

将 null 推入管道后,node.js 可写完成未发出

Cloudflare 522 错误 - javascript 客户端连接到 node 服务器

将环境变量从 GitHub 操作传递到 json

MongoDB Atlas中的聚合触发器不起作用

如何让 vscode 假设一个 node.js 上下文,以便它不假设 `fetch` 存在?

AJAX 和 Node JS:在我的服务器中接收空数据

Chrome 浏览器未将 if-modified-since 标头发送到服务器

TypeError:请求路径包含未转义的字符,我该如何解决这个问题

create-react-app,安装错误(找不到命令)

如何从 npm 注册表中删除 npm 包?