Node.jsでchmodを使用するにはどうすればよいですか?
パッケージfs
にはメソッドがあり、これを行う必要がありますが、2番目の引数として何が必要かわかりません。
fs.chmod(path、mode、[callback])
非同期chmod(2)。可能性のある例外以外の引数は完了コールバックに与えられません。
fs.chmodSync(path、mode)
同期chmod(2)。
( Node.jsドキュメント から)
私が何かをするなら
fs.chmodSync('test', 0755);
何も起こりません(ファイルはそのモードに変更されません)。
fs.chmodSync('test', '+x');
動作しません。
私はWindowsマシンで作業しています。
ソースコードに応じて /lib/fs.js
508行目
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;
}
}
}
8進数または文字列を受け取ります
例えば.
fs.chmodSync('test', 0755);
fs.chmodSync('test', '755');
ファイルモードは* nixマシンにのみ存在するため、これは機能しません。
Octalを指定する正しい方法は次のとおりです。
fs.chmodSync('test', 0o755);
ここでファイルモードを参照してください