当前位置: 首页 > 知识库问答 >
问题:

节点dotenv不能与pm2一起工作

杨晟
2023-03-14

但是在我使用PM2运行应用程序的服务器上,环境变量仍然未定义

我用来在服务器上运行应用程序的pm2命令是:

pm2 start myapp/app.js
pm2 startup
pm2 save

共有1个答案

公冶翰池
2023-03-14

dotenv将读取位于当前目录中的.env文件。

当您调用PM2start myapp/app.js时,它不会搜索myapp/.env

.env // It will try to load this, which doesn't exist
myapp/
   app.js

所以你有两个解决方案

const path = require('path'); 
require('dotenv').config({ path: path.join(__dirname, '.env') });
pm2 start app.js
 类似资料:
  • 我需要做一个服务器应用程序,监听几个TCP连接。这个应用程序必须是轻量级的和TCP连接将来自GPS设备(不是从浏览器,所以我不能使用WebSockets例如)。 为了确保这可以适当地扩展到数千台设备,我需要充分利用所有机器的CPU。根据我的研究,我发现了两种做这件事的方法: 创建服务器并使用本地API node.js提供的 创建一个应用程序,并使用PM2将其“分叉”到所有CPU上 根据我的理解,这

  • 我知道这个问题有答案,但我不想再创建一个配置文件,加载那里的所有配置并运行pm2进程。 package.json内部 现在我已经将项目部署到服务器上,如果我手动运行 npm启动 然后工作很好。 然后得到以下内容 但项目不起作用。什么问题。 即使我将以下内容作为 错误:未知选项'-r' 使用pm2运行脚本的任何其他解决方案

  • 根据它的Javadoc,将生成,其中的第一个值是subscribe和第一个next信号之间的经过时间。 以下测试不起作用 它将抛出异常: 我原以为经过的时间至少是1000ms,但结果只有11ms。

  • pom.xml版本信息: SpringFox-Swagger2:2.5.0 昂首阔步-核心:1.5.10 springfox-swagger-ui:2.6.1 Springboot:1.5.3 我有一个项目与swagger2和Springboot。 没有@Aspect的项目代码工作得很好。 正确的结果: 但是当我添加以下代码时,swagger-ui没有显示test-api-impl。 swagge

  • Selenium版本:2.41.0(作为Nuget包安装)OS:Windows7浏览器:Firefox浏览器版本:32

  • 为了我的研究,我在firefox中做了一些源代码修改并自己构建。为了自动化测试,我选择使用Selenium,但不幸的是,我新构建的Firefox似乎不支持Selenium。 我做了以下工作: Firefox确实会打开并且响应迅速(我可以在搜索栏中输入一个网站)。但过了一段时间,python脚本崩溃,出现以下错误消息: 我在谷歌搜索了那个错误消息,并且大多数解决方案都建议我应该更新Selenium,