在云服务器上全局使用node、npm命令

前言(日常废话)

心血来潮(闲着没事干),想在自己的云服务器上运行node来处理跨域问题,然后踩了一些坑后,终于可以在服务器上全局使用npm和node命令了。
能解决多亏了写这两篇帖子的大佬,万分感谢,膜拜大神。
如何在云服务器上执行自己的node.js程序
linux,软链接配置node,npm全局命令
其实上面两个大神的帖子按顺序看完,就能完成本文的实现效果了,但是!看官大佬爷都打开我的帖子了,也不能让您再多摁几下鼠标或者是多摁几下手指,所以、我还是在下面把步骤顺了一遍。

正文

本文最终要达成的效果是,在云服务器上全局使用node和npm命令,比如说查询版本。
最终效果图
这里假设你已经有了一个云服务器,我这里使用的是阿里云的轻量应用服务器,进入阿里云的轻量应用服务器管理控制台,打开使用的服务器并进行远程连接。

下载node

先进入到服务器的根目录:

cd /

然后创建一个你想要的安装node的文件夹(下面例子为soft)

mkdir soft

然后进入刚刚创建的文件夹

cd soft

接着再创建一个放node的文件夹(下面例子为node)

mkdir node

同样,进入刚刚创建好的文件夹

cd node

然后就可以开始我们的主题,下载node安装包了(下面例子中的12.18.2是我在写这篇文章时node的推荐下载版本,你可以下载你想要安装的版本。注意:有两个地方填版本号!!!)

wget https://npm.taobao.org/mirrors/node/v12.18.2/node-v12.18.2-linux-x64.tar.xz

解压下载好的node包

下载完成以后,就是解压啦(同样的,12.18.2是版本号,要和你刚刚下的一致,不然会找不到文件解压。后面出现12.18.2的都是这个情况,就不再重复描述了)

tar -zxvf node-v12.18.2-linux-x64.tar.xz

解压完成后就可以用下面的命令查看到node-v12.18.2-linux-x64/bin里面有node、npm和npx

cd node-v12.18.2-linux-x64/bin/ && ls

进行全局使用配置

上面步骤完成后其实已经算是安装完成了,但是运行npm -v 或者是 node -v都无法实现查询版本功能,也就是说无法使用npm命令来进行一些操作。因为我们就像我们在windows里面安装node时需要进行配置一样,在Linux中我们也需要进行配置。
其实就是进行一个软连接,软连接就相当于在全局定义一个指针(或者说是在电脑桌面定义一个文件打开的快捷方式)。
输入第一个帖子里面的软连接代码(根据个人理解:代码中 ln -s 代表着软连接,后面跟着的第一个地址是你要指向的目录,第二个地址是你要把这个’快捷方式’放在哪里,也就是ln -s 指针指向地址(快捷方式打开的地址) 指针所在的地址(快捷方式所要创建在哪的地址))

ln -s ./node-v12.18.2-linux-x64/bin/npm /usr/local/bin/npm

ln -s ./node-v12.18.2-linux-x64/bin/node /usr/local/bin/node

坑1

但是!我跟着上面两个软连接的地址无法进行全局访问,只能cd到/usr/local/bin目录下然后运行./node -v进行版本号查看(无法验证我这个是不是个例)。
然后,历经‘千辛万苦’,我找到了第二个帖子,将软连接的地址放到了根目录的bin下面

ln -s ./node-v12.18.2-linux-x64/bin/npm  /bin/npm

ln -s ./node-v12.18.2-linux-x64/bin/node  /bin/node

运行后,成功获取到node的版本号和npm的版本号
最终效果图

坑2

这里还有个小问题,如果你是跟着我的顺序敲下来的,那你在进行第二次软连接的时候会提示创建失败,你已经创建过了该连接,这个时候你需要把刚刚第一次的连接给删掉,cd进刚刚创建连接的目录:

cd /usr/local/bin

然后运行软连接删除命令

rm -rf node
rm -rf npm

然后你就可以继续进行软连接了。

写给看贴的你

本人学识短浅,如有错误地方请指正批评;如有涉及侵权,请手下留情,联系本人,看见即删(手动狗头保命)。
祝各位看官大佬们身体健康、诸事顺心、仙运荣昌、少写bug多加薪…


版权声明:本文为traceur0529原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。