错误:找不到模块‘/opt/Ferdi/resources/app.asar/node_modules/@meetfranz/theme/lib/index.js’

Posted

技术标签:

【中文标题】错误:找不到模块‘/opt/Ferdi/resources/app.asar/node_modules/@meetfranz/theme/lib/index.js’【英文标题】:Error: Cannot find module ‘/opt/Ferdi/resources/app.asar/node_modules/@meetfranz/theme/lib/index.js’ 【发布时间】:2021-09-21 02:05:21 【问题描述】:

我正在与参与 ferdi 项目的程序员合作。

https://getferdi.com/

Ferdi 的座右铭是:“您的所有消息服务都集中在一个地方”。事实上,它就像 franz,它适用于很多操作系统,例如 mac os M1、windows、ubuntu x64 位。我们正在努力让它在 arm64 / jetson nano / Tegra 上也能工作。不幸的是,在这个操作系统上它不能正常工作,因为我们有一个我们无法修复的 javascript 错误。这是如何重现它:

[ `root@zi-desktop` ](mailto:root@zi-desktop) `:~/Desktop/zi/Work/I9/Virt/dockers/arm64/ferdi2# ferdi`

`[21980:0709/185715.104381:FATAL:electron_main_delegate.cc(252)] Running as root without --no-sandbox is not supported. See` [ `https://crbug.com/638180` ](https://crbug.com/638180) `.Trace/breakpoint trap`

[ `root@zi-desktop` ](mailto:root@zi-desktop) `:~/Desktop/zi/Work/I9/Virt/dockers/arm64/ferdi2# ferdi --no-sandbox`

`A JavaScript error occurred in the main processUncaught Exception:Error: Cannot find module` [ `'/opt/Ferdi/resources/app.asar/node_modules/@meetfranz` ](mailto:'/opt/Ferdi/resources/app.asar/node_modules/@meetfranz) `/theme/lib/index.js'.
 Please verify that the package.json has a valid "main" entryat 
tryPackage (internal/modules/cjs/loader.js:310:19)at 
Function.Module._findPath (internal/modules/cjs/loader.js:523:18)at 
Module._resolveFilename (internal/modules/cjs/loader.js:874:27)at 
Function.n._resolveFilename (electron/js2c/browser_init.js:257:1128)at 
Module._load (internal/modules/cjs/loader.js:732:27)at Function.f._load 
(electron/js2c/asar_bundle.js:5:12913)`

(以普通用户身份运行会出现同样的错误)

基本上,我们使用这样的 docker 容器来生成我们将安装在 os 上的 deb 包。下面你可以看到 arm64 / tegra / jetson nano 的 Dockerfile:

`FROM node:fermium-buster`

`LABEL Author="ZioMario <` [ `marietto2008@gmail.com` ](mailto:marietto2008@gmail.com) `>"`

`LABEL Title="arm64/ferdi"`

`# Enviorment variables`

`#ARG username=ferdi-arm64-builder`

`#ENV HOME /home/$username`

`ENV DEBIAN_FRONTEND=noninteractive`

`ENV LC_ALL=C.UTF-8`

`ENV LANG=C.UTF-8`

`ENV PATH="/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/lib:/usr/include:/usr/share"`

`#ENV HW="GPU"`

`#ENV TERM xterm`

`ENV USE_SYSTEM_FPM=true`

`ENV PREVAL_BUILD_INFO_PLACEHOLDERS=true`

`#RUN apt-get update && apt-get install -y ca-certificates curl netbase wget tzdata rpm git xz-utils nano gedit ruby gem`

`RUN apt-get update && apt install -y rpm ruby gem && gem install fpm --no-ri --no-rdoc --no-document`

`WORKDIR /ferdi`

`RUN git clone` [ `https://github.com/getferdi/ferdi.git` ](https://github.com/getferdi/ferdi.git) `. && git submodule update --init --recursive`

`RUN npx lerna bootstrap`

`RUN cd recipes && npm i && npm run package`

`RUN npm run build`

它在任何地方都可以使用,除了在 jetson nano 上。你对如何解决它有一些想法吗?谢谢。

【问题讨论】:

【参考方案1】:

在这些情况下,通常尝试删除package-lock.jsonnode_modules,然后尝试再次运行npm install

您似乎也遇到了与package.json 中的"main" 属性相关的问题。 package.json 的主要属性是指向 package.json 所描述的模块的入口点的方向。

例如在 Node.js 应用程序中,当通过 required 语句调用模块时,模块从 main 属性中指定的文件中导出的内容将返回给 Node.js 应用程序。

【讨论】:

以上是关于错误:找不到模块‘/opt/Ferdi/resources/app.asar/node_modules/@meetfranz/theme/lib/index.js’的主要内容,如果未能解决你的问题,请参考以下文章

错误找不到模块'@angular/material

Phonegap 错误 + 错误:找不到模块 'q'

解析错误:找不到模块'next/babel'

找不到模块:错误:无法解析模块“fs”

TypeOrm 迁移 - 错误:找不到模块

删除了节点模块,现在出现“错误:找不到模块 'webpack/lib/RuleSet'”错误