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

时间:2018-03-05 05:20:21

标签: meteor npm npm-install node-fibers

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

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

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

1 个答案:

答案 0 :(得分:1)

为什么会发生这种情况(很多)?

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

指南custom deployment section的摘录:

  

根据您使用的Meteor版本,您应该安装   使用适当的安装过程的适当版本的节点   为您的平台。要找出应该使用的节点版本,   在开发环境中运行meteor node -v,或者检查   流星版生成的捆绑包中的.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标志。