node.js - 如何使节点服务器始终在服务中加载
问题描述
我有一个简单的服务文件,它应该运行一个 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”:文件存在
请问我该如何解决这个问题?我不希望我的用户在每次重新启动时都必须手动开始服务。如果我将脚本内容直接添加到终端,它也可以工作。谢谢你的帮助!
解决方案
原来我必须用不同的方法安装节点(受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
推荐阅读
- reactjs - 如何在 ReactJS 中使用换行符设置 textarea 值
- multiprocessing - 在辅助处理器、预引导或 DOS 中执行简单代码
- javascript - 预期的 JS 声明或语句 - 在 asp.net 中的脚本标记下
- selenium-webdriver - 如何在硒的单个xpath中获取多个值
- json - 如何在 unix 中使用 jq 将 JSON 转换为 tsv?
- openshift - OpenShift Starter 帐户配置需要多长时间?
- qt - 具有半透明背景的 Qt 无框窗口,没有错误“UpdateLayeredWindowIndirect failed”
- modal-dialog - 模态在屏幕外打开,几秒钟后又回到屏幕内
- react-native - 如何在全屏 react-native android 中播放视频
- r - R - 无法计算 data.frame 中过滤列的平均值