gpt4 book ai didi

node.js - 错误: EACCES when writing file using Node.js

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:05 25 4
gpt4 key购买 nike

我在尝试运行写入 JSON 文件的 cron 作业时遇到错误。

这是我的 Node 文件中的代码:

var request = require('request');
var fs = require('fs');
var url = "file url";

request.get(url, function(err, response, data) {
if (err || response.statusCode != 200) {
console.log('Error: ' + err);
return;
}

var json = JSON.parse(data);
var processed_json = JSON.stringify(transformJSON(json));

fs.writeFile(__dirname + "/my_data.json", processed_json,
function(err) {
if (err) {
console.log(err);
}
});
});

cron 作业给出的错误是:

{ [Error: EACCES, open '.../my_data.json']
errno: 3,
code: 'EACCES',
path: '.../my_data.json' }

我的 crontab 中的行是:

* * * * * node web_scripts/converter.js

任何帮助将不胜感激!

最佳答案

我在我的 Mac (Mavericks) 上测试了这个,它对我有用。 crontab 运行,我在脚本所在的文件夹中获取 my_data.json。

最有可能的是,cron 作业没有写入脚本所在的 web_scripts 的权限。您通常可以检查/var/log/mail/$YOURUSER 以查看任何 cron 结果。

以下是我通常如何设置 cron 作业:

touch ~/.crontab
vi ~/.crontab # add your cronjob
crontab ~/.crontab

现在您可以跟踪日志并确保其运行,然后检查邮件以获取结果。同样,这听起来像是权限问题。您还可以尝试临时写入每个人都拥有完整权限的路径,例如 /tmp,而不是使用 __dirname 解析路径。

关于node.js - 错误: EACCES when writing file using Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25575230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com