给linux服务器安装serve时遇到的问题

文章介绍了在部署Vue项目时如何全局安装serve,以及遇到npm版本问题、权限问题和命令找不到的解决方案,包括添加软链到环境变量,确保serve命令可用。

2023年4月17日

我想将vue项目部署在服务器中,根据这篇文章的指引,来到了全局安装serve的环节

sudo npm i -g serve

安装时可能会遇到的错误:

      1.npm版本太低。我使用了16.19.0,可以成功安装serve(19.x.x版本太高了服务器不支持:(

      2.没有权限,请加sudo

      3.sudo:npm找不到命令,添加软链,请将路径换为自己的node命令的安装路径

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm


sudo ln -s <自己的node/npm命令的路径> /usr/bin/{npm或node}

安装完成后,使用serve命令,会提示command not found

此时需要将serve命令所在位置添加到环境变量中(有点类似上述第3点)

先使用下面的命令,获取npm全局安装目录中的bin文件夹

npm bin -g

得到结果如下,发现npm也提示你,bin不在环境变量内,即不在命令搜索路径中。

/usr/local/node/node-v16.19.0-linux-x64/bin

npm ERR! bin (not in PATH env variable)

 (一般来说,各种可执行程序、命令,都是在bin目录下)

进入bin目录可以发现,serve确实其中,也可以正常使用

$ cd /usr/local/node/node-v16.19.0-linux-x64/bin
$ ls
corepack  node  npm  npx  serve
$ ./serve

   ┌──────────────────────────────────────────┐
   │                                          │
   │   Serving!                               │
   │                                          │
   │   - Local:    http://localhost:3000      │
   │   - Network:  http://1xx.xx.x.xx7:3000   │
   │                                          │
   └──────────────────────────────────────────┘

下面就是最后一步了,给serve添加软链,添加到已经在搜索路径里的目录(添加环境变量太麻烦了,不如直接添加软链)

sudo ln -s /usr/local/node/node-v16.19.0-linux-x64/bin/serve /usr/bin/serve

完成!

添加到/usr/local/bin应该也行,我没试。

安装 SSH 遇到无法找到 `openssh-server` 的问题,通常与操作系统版本、软件源配置或网络连接有关。以下是一些常见原因及解决方法: ### 1. 检查软件源配置 确保系统使用的软件源中包含 `openssh-server` 包。对于基于 Debian/Ubuntu 的系统,可以尝试更换软件源镜像地址。例如,使用国内镜像源: ```bash sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list ``` 对于基于 CentOS/RHEL 的系统,可以使用以下命令检查可用的包: ```bash yum search openssh-server ``` 如果找不到相关包,可能需要配置正确的软件源或启用 EPEL 仓库: ```bash sudo yum install epel-release ``` ### 2. 更新软件包列表 在更改软件源后,务必更新软件包列表: ```bash sudo apt update # Ubuntu/Debian sudo yum makecache fast # CentOS/RHEL ``` ### 3. 安装 OpenSSH Server 确认软件源更新后,尝试重新安装 `openssh-server`: ```bash sudo apt install openssh-server # Ubuntu/Debian sudo yum install openssh-server # CentOS/RHEL ``` ### 4. 检查系统架构和版本 某些旧版本的 Linux 发行版可能不再维护,导致无法找到 `openssh-server`。可以通过以下命令查看系统版本信息: ```bash cat /etc/os-release ``` 如果使用的是较旧版本,建议升级到最新稳定版。 ### 5. 解决依赖问题 如果安装过程中提示依赖问题,可以尝试修复依赖关系: ```bash sudo apt --fix-broken install # Ubuntu/Debian sudo yum install -y --skip-broken # CentOS/RHEL ``` ### 6. 检查网络连接 确保系统可以正常访问外部网络,尤其是软件源服务器。可以尝试 ping 测试: ```bash ping -c 4 mirrors.aliyun.com ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值