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应该也行,我没试。