【发布时间】:2025-12-24 11:35:11
【问题描述】:
我正在将我的 Meteor 包部署到一个类似的 Ubuntu 18.04 系统作为开发。运行流星(启动应用程序)后,我收到以下错误:
## There is an issue with `node-fibers` ##
`/opt/docgen/bundle/programs/server/node_modules/fibers/bin/linux-x64-57-glibc/fibers.node` is missing.
Try running this to fix the issue: /usr/bin/node /opt/docgen/bundle/programs/server/node_modules/fibers/build
Error: Cannot find module '/opt/docgen/bundle/programs/server/node_modules/fibers/bin/linux-x64-57-glibc/fibers'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
然而,npm install(并调用 node build.js)为光纤构建了一个不同名称的二进制文件:
ubuntu@ip-xxx-xx-xxx-xx:/opt/docgen/bundle/programs/server/node_modules/fibers$ node build.js
`linux-x64-72-glibc` exists; testing
Binary is fine; exiting
开发和生产中的节点版本:
ubuntu@ip-xxx-xx-xxx-3xxx-xx-xxx-xx:/opt/docgen/bundle/programs/server/node_modules/fibers$ node -v
v12.16.1
npm 版本:
ubuntu@ip-xxx-xx-xxx-xx:/opt/docgen/bundle/programs/server/node_modules/fibers$ npm -v
6.14.5
【问题讨论】:
-
哪个 Meteor 版本?你是怎么安装的?
-
也许我弄错了,但
After running meteor ...听起来你在生产服务器上安装了 Meteor。但是,您不应该安装 Meteor,而是node使用普通 NodeJs 运行您的应用程序包(通过meteor build命令构建)。 -
@Jankapunkt 不,我只是使用 Node 来运行它。但是我确实在生产服务器上安装了流星——只是不要使用它。我仍然不明白为什么生产服务器上从未使用过的新版本流星会产生任何影响。
-
@FredStark 为了澄清版本,我使用 Meteor 1.10.2;但是,只需使用提到的 Node 在生产中运行即可。我最近升级了 Meteor,现在我碰巧在构建(构建 tarball)时也遇到了这些错误:
Unable to resolve some modules: "internal/bootstrap/loaders" in /home/ubuntu/environment/docgen/node_modules/esm/esm.js (web.browser.legacy) If you notice problems related to these missing modules, consider running: meteor npm install --save internal -
如果您使用流星的内置 npm 与来自源的 npm,它可以有所作为。