deployment - 无法在数字海洋水滴中启动服务器
问题描述
我正在尝试将我的 MERN 应用程序部署到数字海洋水滴(Ubuntu 20.04 服务器)。
现在,当我尝试使用 启动服务器时npm start
,出现以下错误。
代码片段如下:
服务器/配置/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;
但是,在我的本地机器上一切正常。如果 I console.log(process.env.MONGO_URI)
,我得到字符串。
在液滴中,我尝试执行以下操作:
export MONGO_URI=the_connection_string
. 即使那样,我也得到了错误。
我究竟做错了什么?
解决方案
我发现了这个问题。我已经放在.env
里面了.gitignore
。因此.env
在我克隆到我的 Digital Ocean 液滴的 github 存储库中不可用。作为解决方案,我.env
使用vim
. 然后我可以毫无问题地启动服务器。
推荐阅读
- sql - 将多行聚合为一行
- angular - Angular 9-WebComponent 和 i18n(翻译模块)
- flutter - Flutter 中的错误:断言失败:第 588 行 pos 12:'size.isFinite': is not true.in GridTileBar
- .htaccess - 在 htaccess 中镜像文件
- hyperledger-fabric - 无法调用 js 链码,也无法在 CLI 之外使用 peer 命令
- python - 如何制作列表列表,在哪里取每个偶数的平方和立方?
- java - 没有可调试错误的 ClassCastException
- r - 在闪亮的上下文中,传单地图周围出现不需要的标签
- elasticsearch - 与上一个问题相关,我们如何格式化字符串转义值?
- decompiling - 你如何反编译dex文件?