卡在启动流星

Stuck in starting meteor

这真让我沮丧。我有一个 DO VPS 安装了 ubuntu 14.04 (64)。

我在上面安装了 VestaCP 作为控制面板,并托管了一些基于 PHP 的个人项目。

我也在上面安装了 meteor 但从未使用过,现在当我尝试创建一个项目时 运行 它('meteor create rt' 然后 'cd rt' 然后 'meteor')

出现以下错误: [[[[[ /home/admin/code/rt ]]]]]

=> 启动代理。
意外 mongo 退出代码 1。正在重新启动。
意外 mongo 退出代码 1。正在重新启动。
意外 mongo 退出代码 1。正在重新启动。
无法启动 Mongo 服务器。
root@RD:/home/admin/code/rt#

有人可以帮忙吗?如果需要,请向我询问更多信息。

**** 编辑 ****

我创建了一个新的 DigitalOcean 服务器,但它给出了同样的错误。 Digital Ocean 有问题吗?数字海洋的文件系统?我很迷惑。我正在尝试不同口味的 Linux 和相同的结果。所有都是全新 linux 安装。

出乎意料 mongo 退出代码 1 在我看来仍然是一个未捕获的异常。

您可以尝试更新您的 c/c++ 编译器。看看here。 它说:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.6
sudo apt-get install g++-4.6

祝一切顺利!

因此我们已将问题缩小到 meteor 在您的盒子上的 mongo 安装(尽管我认为我们一直很确定这一点)。让我们尝试调试一下。我过去这样做的方法是尝试用 meteor 提供的 mongod 打开 meteor 的 mongo。您将在没有 运行 连接 meteor 服务器的情况下执行这些过程。这应该会给您导致 Mongo 退出的警告。首先你需要找到这个。在我安装在 Mint 上的实例中(应该类似于 Ubuntu),它位于:

~/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/mongodb/bin/mongod

您可以在 Ubuntu 框上查看该位置,或者您可以 运行 类似这样的内容来获取位置:

find ~/.meteor/ -name mongod

找到位置后,转到您尝试访问的流星项目的目录 运行,在那个目录中您应该找到这个位置:

<your meteor project>/.meteor/local

cd 进入该目录并 运行 以下命令:

~/.meteor/packages/meteor-tool/.1.1.3.4sddkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/mongodb/bin/mongod --dbpath ./

从那里您可以分析输出(或更新问题以便我们可以看到输出),这应该会显示您在启动时收到的 mongo 错误并允许您修复它。

我在尝试启动 meteor 应用程序时遇到了同样的问题,确切地说 mongodb 服务器正在以一种意外的方式终止。一般来说,像你提到的那些经销商的虚拟 linux 服务器没有 swap 分区(检查 /etc/fstab 文件)所以如果你没有足够的内存来分配 MongoDB 服务器然后流星应用程序无法启动。您可以创建 swap partition or instal swapspace

sudo apt-get install swapspace

之后我就可以启动 meteor 应用程序了...请耐心等待,因为交换内存不如 RAM 快。

我终于找到了解决办法。在这里张贴给其他人。

这是问题,因为 mongodb 在启动时寻找的一些环境变量没有设置 设置变量 LC_ALLLANG 并且它工作正常(主要设置 LC_ALL 就可以)

首先,输入 locale 命令并查看输出,您会看到它会说 LC_ALL 未设置。

现在,在 /etc/environment 中添加这两行,它起作用了。

LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

此解决方案适用于 Ubuntu 12.04 +

其他变体可能需要类似的工作。

由于某些“智能”StackExchange 政策,我无法对工作解决方案进行投票或评论...)

引用的答案也适用于 CentOS 7 x64 vmlinuz-3.10.0-123.8.1.el7 上的 Digital Ocean。x86_64

first, type locale command and see the output, you will see that it will say something about LC_ALL not set.

Now, add these two lines in /etc/environment and it worked.

我更改了区域设置以满足我的需要。

使用以下 bash 命令修复了我的 Debian 8,(如果需要使用 sudo)

localedef -i en_US -f UTF-8 en_US.UTF-8