我正在使用laravel运行react.js并使用yarn run watch
观察更改,直到我在Windows 10进行一些更新后每次使用yarn或npm时,开始使用webpack遇到此错误之前,它都运行良好。真的不知道这是否可能是一个原因)-我很乐意提供帮助。
if (!e && fileOwnerId === process.getuid()) utimesSync(openCollectivePath, now, now)
错误:
TypeError: process.getuid is not a function at C:\project_path\node_modules\webpack-cli\bin\cli.js:352:43 at FSReqCallback.oncomplete (fs.js:153:23)
答案 0 :(得分:49)
我也有这个问题。我不确定是什么原因造成的,但是删除我的node_modules文件夹并重新运行“ npm install”对我来说已经解决了。
答案 1 :(得分:16)
这是周一偶然发生的吗?如果是这样,我认为这与以下问题有关: https://github.com/webpack/webpack-cli/issues/962
从我收集的Webpack CLI中,Laravel Mix使用该Web CLI尝试每六天打印一次消息,要求用户考虑捐赠,但是最新版本依赖于Windows中不可用的功能。最初添加逻辑是为了让那些不断看到消息困扰的人考虑,后来又进行了调整以避免Mac和Linux用户的文件权限问题,但后者的更改仅在星期一对Windows用户造成了问题。
用户rseeburg的 A solution proposed在该线程中只是将有问题的代码包装在try / catch中。但是,从Webpack CLI 3.3.5开始,它看起来像捐赠消息has been removed,因此更新软件包应该对其进行修复。通过将"webpack-cli": "^3.3.5"
添加到package.json,然后添加yarn install
,使它再次工作。
答案 2 :(得分:0)
您可以做三件事来解决此问题:
1 -通过将您的日期更改为星期一以外的任何一天,因为此功能如果
const now = new Date();
if (now.getDay() === MONDAY) {
const { access, constants, statSync, utimesSync } = require("fs");
const lastPrint = statSync(openCollectivePath).atime;
const lastPrintTS = new Date(lastPrint).getTime();
const timeSinceLastPrint = now.getTime() - lastPrintTS;
if (timeSinceLastPrint > SIX_DAYS) {
require(openCollectivePath);
// On windows we need to manually update the atime
access(openCollectivePath, constants.W_OK, e => {
if (!e) utimesSync(openCollectivePath, now, now);
});
}
}
关于捐赠给他们的包裹
2 -删除该条件fileOwnerId === process.getuid())
,但不适用于Windows用户,因此您可以做最后一件事
3 -将此"webpack-cli": "^3.3.5"
添加到您的package.json
依赖项中,并运行对我有用的npm
。
答案 3 :(得分:0)
仅运行npm install
为我解决了。不必删除任何文件夹