fs.rmSync throws undefined is not a function on Ubuntu
fs.rmSync throws undefined is not a function on Ubuntu
我正在尝试删除其中包含另一个文件夹的简单文件夹,例如:/tmp/ac6c1fcaeae0c7ec4d1a8/res
。
为此,我有这个简单的代码:
module.exports.deleteFolder = (path) => {
try {
if (fs.existsSync(path)) {
console.log("Deleting folder " + path)
fs.rmSync(path, { recursive: true })
}
} catch (error) {
console.log("Error deleting folder at " + path)
throw error
}
}
当我在 Windows 上 运行 使用 Node 16.13.2 时,它工作正常,我正在使用 pkg
部署到 Ubuntu 机器,该机器有 Node 10.x 但我使用 nvm
升级了它(尽管我认为这无关紧要,因为我用于编译的机器也在 16.13.2 上,尽管它在 12.x 上并且我升级了它也使用 nvm
。
可能我正在编译的机器没有使用nvm
节点版本?因为我读到这个功能是在 14.x.
上添加的
总而言之,我正在使用 Windows 进行开发,一个 Ubuntu WSL 具有节点 12.x 进行编译(我使用 [=15= 升级到 16.13.2 ]) 和我将部署的另一台 Ubuntu 机器。它在 Windows 上工作,但不在生产机器上工作。
编辑:用 Windows 机器编译它也失败了,看起来这不是问题所在。
看来我使用的是 pkg
的过时版本,并且由于它采用了全局选项,因此它使用 node14 作为目标。
将 pkg-config
文件更改为 node16,然后我可以看到错误。更新了所有全局 npm 包,重新编译并成功!
我正在尝试删除其中包含另一个文件夹的简单文件夹,例如:/tmp/ac6c1fcaeae0c7ec4d1a8/res
。
为此,我有这个简单的代码:
module.exports.deleteFolder = (path) => {
try {
if (fs.existsSync(path)) {
console.log("Deleting folder " + path)
fs.rmSync(path, { recursive: true })
}
} catch (error) {
console.log("Error deleting folder at " + path)
throw error
}
}
当我在 Windows 上 运行 使用 Node 16.13.2 时,它工作正常,我正在使用 pkg
部署到 Ubuntu 机器,该机器有 Node 10.x 但我使用 nvm
升级了它(尽管我认为这无关紧要,因为我用于编译的机器也在 16.13.2 上,尽管它在 12.x 上并且我升级了它也使用 nvm
。
可能我正在编译的机器没有使用nvm
节点版本?因为我读到这个功能是在 14.x.
总而言之,我正在使用 Windows 进行开发,一个 Ubuntu WSL 具有节点 12.x 进行编译(我使用 [=15= 升级到 16.13.2 ]) 和我将部署的另一台 Ubuntu 机器。它在 Windows 上工作,但不在生产机器上工作。
编辑:用 Windows 机器编译它也失败了,看起来这不是问题所在。
看来我使用的是 pkg
的过时版本,并且由于它采用了全局选项,因此它使用 node14 作为目标。
将 pkg-config
文件更改为 node16,然后我可以看到错误。更新了所有全局 npm 包,重新编译并成功!