在部署流星应用程序时如何解决“使用fiber@2.0.0安装脚本失败”错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在部署流星应用程序时如何解决“使用fiber@2.0.0安装脚本失败”错误?相关的知识,希望对你有一定的参考价值。

我知道如何打包然后部署流星应用程序。但最近在一个项目中,我遇到了一个我无法解决的错误。

Steps I followed for package and deploy of my meteor app:

    1. meteor build package 
    2. cd package
    3. tar -xf inventoryTool.tar.gz
    4. cd bundle/programs/server
    5. npm install
    6. cd ../..
    7. PORT=<port> MONGO_URL=mongodb://127.0.0.1:27017/dbName ROOT_URL=http://<ip> node main.js

当我运行log(STEP 5)命令时,这是错误的npm install。我的执行中有什么遗漏吗?我没有在我的项目中的任何地方使用光纤包。有没有人能解决这个问题?提前致谢。

答案

Why this happens (a lot)?

您的本地版本的节点是v8.9.4。使用build命令时,您将导出应用程序并根据此精确节点版本构建代码。您的服务器环境也需要这个确切的版本。

摘录指南的custom deployment section

根据您使用的Meteor版本,您应该使用适合您平台的安装过程安装正确版本的节点。要找出应该使用的节点版本,请在开发环境中运行meteor node -v,或者检查meteor build生成的bundle中的.node_version.txt文件。

即使您没有明确使用fibers,也需要在服务器上正确运行Meteor应用程序。

那么该怎么办?

为了解决这个问题,你需要

a)确保您的本地版本的节点与服务器上的版本完全匹配

b)确保构建服务器的体系结构(参见build命令)

要在服务器上安装a)非常特定的节点版本,您有两个选择:

选项I.使用n,如here所述。但是,仅当您的服务器环境使用node而不使用nodejs(这取决于您在服务器上安装nodejs的方式)时,此方法才有效。

II。要从存储库安装特定的nodejs版本,您可以执行以下操作:

$ cd /tmp
$ wget https://deb.nodesource.com/node_8.x/pool/main/n/nodejs/nodejs_8.9.4-1nodesource1_amd64.deb
$ apt install nodejs_8.9.4-1nodesource1_amd64.deb

如果您不确定服务器上是否安装了两者,请检查node -vnodejs -v。其中一个将返回一个版本。如果你的npm install仍然失败,请检查错误输出,如果它涉及nodenodejs,并使用上面的选项安装所需的分布。

要构建b)针对服务器上的体系结构,您应该在--architecture命令中使用build标志。

以上是关于在部署流星应用程序时如何解决“使用fiber@2.0.0安装脚本失败”错误?的主要内容,如果未能解决你的问题,请参考以下文章

2015年如何部署生产流星服务器?

如何取消部署流星应用程序?

如何使用卡在加载屏幕上的铁路由器调试流星/科尔多瓦应用程序?

将流星部署到官方流星服务器光纤

有没有一种简单的方法可以从流星部署的应用程序中导出数据?

当流星文件更改时,将新版本推送到 iOS 上的开发/测试设备(流星运行 ios-device)