- Node.js 版本:14.15.0
- 操作系统:Raspbian
- 范围(安装、代码、运行时、元数据、其他?):需要
我有一个在 Raspberry Pi 4 上运行的 Node 程序。我最近开始使用名为 Mender 的 OTA 部署系统将更新推送到远程 RPis 上的代码。 Mender 创建了一个分区系统,该系统使用两个 3.5GB 分区,一个作为主分区,另一个作为部署失败时的回滚。它有一个第三个分区 /data
,在我的例子中大约是 20GB,用于需要在更新之间保留的内容。
我无法将整个应用程序及其所有节点模块依赖项放入 3.5GB 分区。因此,我将 node_modules
目录移动到 /data
分区并创建了一个指向我的项目目录 (home/pi/myProject
) 的符号链接。这适用于模块安装,但是当我尝试从我的项目中 require
一个已安装的模块时,会抛出错误;
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module '@google-cloud/pubsub'
Require stack:
- /home/pi/myProject/pwrMngmnt.js
- /home/pi/myProject/[eval]
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/myProject/pwrMngmnt.js:3:20)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19) {
code: 'MODULE_NOT_FOUND',requireStack: [
'/home/pi/myProject/pwrMngmnt.js','/home/pi/myProject/[eval]'
]
}
是否需要设置配置才能使其正常工作?