无法在数字海洋水滴中启动服务器

Unable to start the server in a digital ocean droplet

我正在尝试将我的 MERN 应用程序部署到数字海洋水滴(Ubuntu 20.04 服务器)。

我将 GitHub 存储库克隆到服务器。

现在,当我尝试使用 npm start 启动服务器时,出现以下错误。 代码片段如下:

server/config/db.js

const mongoose = require("mongoose");
const colors = require("colors");

const connectDB = async () => {
  try {
    const conn = await mongoose.connect(process.env.MONGO_URI, {
      useNewUrlParser: true,
      useCreateIndex: true,
      useUnifiedTopology: true,
    });
    console.log(`MongoDB connected: ${conn.connection.host}`.cyan.bold);
  } catch (error) {
    console.error(`Error: ${error.message}`.red.bold.underline);
    process.exit(1);
  }
};
2;
module.exports = connectDB;

但是,在我的本地机器上一切正常。如果我 console.log(process.env.MONGO_URI),我得到字符串。

在 Droplet 中,我尝试执行以下操作:

export MONGO_URI=the_connection_string。即便如此,我还是收到错误消息。

我做错了什么?

错误

我发现了问题。我把 .env 放在了 .gitignore 里面。因此 .env 在 github 存储库中不可用,我已将其克隆到我的 Digital Ocean droplet 中。作为解决方案,我使用 vim 在我的 Droplet 中重新创建了 .env 文件。然后我就可以毫无问题地启动服务器了。