首页 > 解决方案 > 如何使节点服务器始终在服务中加载

问题描述

我有一个简单的服务文件,它应该运行一个 bash 脚本,该脚本在我的“构建”目录中启动一个节点 js 服务器。脚本的内容是

#!/bin/bash
cd /home/path/to/build && npm install -g serve && serve -l 5679

但是,我收到错误 => /usr/bin/env: 'node': No such file or directory 即使我尝试这样的符号链接

#!/bin/bash
cd /home/path/to/build && ln -s /usr/bin/nodejs /usr/bin/node && npm install -g serve && serve -l 5679

我收到错误 => 无法创建符号链接“/usr/bin/node”:文件存在

请问我该如何解决这个问题?我不希望我的用户在每次重新启动时都必须手动开始服务。如果我将脚本内容直接添加到终端,它也可以工作。谢谢你的帮助!

标签: node.jslinuxbashubuntuservice

解决方案


原来我必须用不同的方法安装节点(受https://www.geeksforgeeks.org/installation-of-node-js-on-linux/启发)以确保它确实存在于 /usr/bin 因为 ExecStart 没有'不喜欢让“服务”命令与我的符号链接节点一起工作。

第 1 步:打开终端或按 Ctrl + Alt + T 并使用以下命令更新和升级包管理器:

sudo apt-get update
sudo apt-get upgrade

第 2 步:使用以下命令安装 Python 软件库:

sudo apt-get install software-properties-common

第 3 步:将 Node.js PPA 添加到系统。

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

注意:这里我们安装的是 node.js 版本 14,如果要安装版本 11,可以将 setup_14.x 替换为 setup_11.x。

第 4 步:要将 Node.js 和 NPM 安装到您的 Ubuntu 机器上,请使用以下命令:

sudo apt-get install nodejs

第 5 步:安装后,通过使用以下命令检查安装的版本来验证它:

node -v or node –version
npm -v or npm –version

推荐阅读