繁体   English   中英

Gatsby 云部署构建错误:无法从 webpack-dev-server:fsevents 访问绑定

[英]Gatsby cloud deploy build error: bindings not accessible from webpack-dev-server:fsevents

我在 Gatsby 网站上工作。 目前我已经在本地构建得很好,但是当我尝试部署到 Gatsby Cloud 时,它在“安装项目依赖项”期间失败,原始日志显示:

17:39:24 PM:
Cloning into '/usr/src/app/www'...

17:39:29 PM:
npm ERR! bindings not accessible from webpack-dev-server:fsevents

17:39:29 PM:
npm

17:39:29 PM:
 ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-19T23_39_29_074Z-debug.log

17:39:29 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit failure - Command failed with exit code 1 (EPERM): npm ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/

17:39:29 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit attempt 1 of 3...

17:39:31 PM:
npm

17:39:31 PM:
 ERR! bindings not accessible from webpack-dev-server:fsevents

17:39:31 PM:
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-19T23_39_31_076Z-debug.log

17:39:31 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/ failure - Command failed with exit code 1 (EPERM): npm ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/

17:39:31 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/ attempt 2 of 3...

17:39:33 PM:
npm

17:39:33 PM:
 ERR! bindings not accessible from webpack-dev-server:fsevents

17:39:33 PM:
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-19T23_39_33_080Z-debug.log

17:39:33 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/ failure - Command failed with exit code 1 (EPERM): npm ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/

17:39:33 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/ attempt 3 of 3...

17:39:35 PM:
npm

17:39:35 PM:
 ERR! bindings not accessible from webpack-dev-server:fsevents

17:39:35 PM:
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-19T23_39_35_038Z-debug.log

17:39:35 PM:
NPM ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/ failure - Command failed with exit code 1 (EPERM): npm ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/

17:39:35 PM:
ERROR Failed to compile: Error: Command failed with exit code 1 (EPERM): npm ci --unsafe-perm --prefer-offline --no-audit --registry=https://registry.npmjs.org/

我在 Linux (Ubuntu) 操作系统上。 节点版本 14.16.0。

即使错误似乎并不表明构建失败,因为 fsevents 不存在(而是 fsevent 无法访问“绑定”——老实说,这是一个我很迷失的术语),我确实尝试安装fsevent 在本地,它失败了(并不奇怪,因为它似乎适用于 MacOS)。 但我也尝试将它手动放置在我的 package.json 的依赖项和 devDependencies 中(我认为云服务器会安装它)。 那也没有用。

我对这个很迷茫,任何帮助将不胜感激。 我也不确定从哪里获取上面原始日志中引用的完整日志。 如果我找到这些,我会更新,如果我还没有上传它们,任何关于去哪里获取这些的帮助将不胜感激。

谢谢

假设该站点如您所说的那样在本地构建,对我而言,问题似乎与环境(您的本地机器和 Gatsby Cloud)之间的 Node 版本不匹配有关。

根据Gatsby Cloud文档的特定环境变量,您可以通过设置NODE_VERSION环境变量来指定节点版本,默认设置为 12:

NODE_VERSION :指定您的项目应使用的 Node.js 版本。 例如, NODE_VERSION=10 默认为 12。

在您的情况下,请在本地使用node -v来获取您的 Node 版本并相应地设置NODE_VERSION 这将强制云使用与本地相同的版本,因此完全相同的工作版本。


本主题的进一步修订通过删除package-lock.json并忽略它(将其添加到.gitignore )来绕过该问题,让 Gatsby Cloud 在自己的环境中安装依赖项。

Gatsby Cloud 支持建议删除package-lock.json文件。 这为我解决了问题!

您还需要确保将package-lock.json到您的.gitignore文件中,以防止下次在您自己的机器上构建时将其上传到 GitHub。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM