linux 安装 node 及环境配置

简介: linux 安装 node 及环境配置

每次安装完了就忘记了,再次安装的时候还得上网查,这次就记录下来,方便后面查看。

我用的环境 版本  CentOS 7

安装 node

下载地址 nodejs.cn/download/

下载 “Linux 二进制文件 (x64)”  对应的文件

wget https://npmmirror.com/mirrors/node/v16.16.0/node-v16.16.0-linux-x64.tar.xz 
复制代码

解压

tar -xvf node-v16.16.0-linux-x64.tar.xz node16
复制代码

在node16 文件夹下找到 bin目录,里面有 node文件可以直接执行

cd node16
./node
复制代码

这样执行比较麻烦,我们需要在任何地方,直接执行 node 命令。

全局执行 node 命令

首先看下命令的查找路径

echo $PATH
复制代码

输出,大概这样/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

你可以在其中任意位置加上软链,都可以全局访问。 比如 在 user/local/bin 上加软链

sudo ln -s /home/duhongwei/tools/node16/bin/node node
复制代码

接下来我们安装一个模块 PM2 npm install pm2 --location=global

安完了后执行pm2 发现找不到命令。这是为什么呢?我们查下全局安装的路径

npm config get prefix
复制代码

在我的环境中输出

/home/duhongwei/tools/node16
复制代码

PM2命令在 /home/duhongwei/tools/node16/bin 中 因为这个路径并不包含在 $PATH 中,所以找不到。

一个方法是把这个路径包含在 $PATH 中 ,打开 ~/.bash_profile修改 path

PATH=$PATH:/home/duhongwei/tools/node16
复制代码

另一个方法是修改全局安装目录

npm config set prefix /usr/local
复制代码

经过这样的设置,当全局安装的时候,模块文件会安装在 /usr/local/lib/node_modules 下面 命令会安装在 /usr/local/bin 下面,而/usr/local/bin包含在 $PATH里,所以立即全局有效了。 但是这样有一个小问题,就是全局安装的时候需要加上 sudo,因为/usr/local 需要 root权限。

所以,如果不需要考虑所有用户,只是自己用方便的话,用第一种方法为好。

sudo 执行 node 命令

经过上面的折腾,在自己用户下面用是没问题了。但是当 sudo node 的时候却提示找不到命令,这是为什么呢。

为了安全,用sudo 查找命令的路径和直接用 root 查找命令的路径不同,linux做了重置。

我们修改重置后的路径就可以了

sudo vi  /etc/sudoers
复制代码

找到这一行 Defaults   secure_path,在后面加上 node 命令的绝对路径,把 /home/duhongwei/tools/node16/bin,修改成你的实际路径就可以了。

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/home/duhongwei/tools/node16/bin
复制代码

最简单的安装方法

上面经过这么多步骤,是为了让你知道里面的原理,实际安装的时候,三步就可以。

  1. 下载 node 二进制文件,保证所有用户可读,可执行。
  2. 把 node,npm,npx 加软链接到 /usr/bin
  3. npm config set prefix /usr

经过这样三步后,所有用户都可以执行 node ,npm,npx 命令,sudo 也没有问题。 为什么sudo 也可以呢,因为在 sudo 重置的路径中黑夜包含 /user/bin

root 用户可能不好用,不过一般也不用root用户,所以没什么问题。如果让 root用户也可以,修改root下面的./bash_profile,把 /usr/bin 加到 PATH就好了。如果加前面有讲。

如果某个用户不好用,可能是这个用户修改了默认的查找路径,把 /user/bin加到查找路径就可以了

如果只是自己用的话,用下面的步骤,/home/duhongwei/bin是举例,实际换成你的路径。

  1. 下载 node 二进制文件
  2. 把 node,npm,npx 加软链接到 /home/duhongwei/bin
  3. npm config set prefix /home/duhongwei  (注意这里没有 /bin)
  4. 如果 /home/duhongwei/bin 没有在$PATH里的话,把  /home/duhongwei/bin 加到 $PATH

都是一样的,就是路径不一样,放在自己目录下的好处是执行的时候不用加 sudo ,而且也不影响别人。

目录
相关文章
|
6月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
4月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
355 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
4月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
563 0
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
354 6
|
6月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
6月前
|
Ubuntu 安全 Linux
Linux这5款微型发行版,体积小+精简,比win7运行还快,值得安装
以上5款微型发行版体积小且精简,如果你有台旧电脑,不妨试试?
|
6月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。
|
6月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
6月前
|
Ubuntu Linux Shell
手把手教你安装适用于Linux的Windows子系统——Ubuntu
重启完成,你看看重新打开Ubuntu是不是发生了变化,等待几分钟,系统配置完成,根据提示设置用户名和密码即可