在部署流星应用程序时如何解决“使用[email protected]安装脚本失败”错误?

问题描述 投票:1回答:1

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

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。我的执行中有什么遗漏吗?我没有在我的项目中的任何地方使用光纤包。有没有人能解决这个问题?提前致谢。

meteor npm npm-install node-fibers
1个回答
1
投票

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标志。

© www.soinside.com 2019 - 2024. All rights reserved.