linux服务器安装nodeJS步骤及踩坑记录(解决node 您所在的位置:网站首页 linux安装服务器失败 linux服务器安装nodeJS步骤及踩坑记录(解决node

linux服务器安装nodeJS步骤及踩坑记录(解决node

2024-03-11 14:00| 来源: 网络整理| 查看: 265

  默认已使用终端连接上服务器,进入root文件夹

一、上传node文件到服务器

  两种方式可以下载:

1、官网下载:nodeJS官网:http://nodejs.cn/download/

  根据服务器选择对应的文件下载。

  需要注意的是这里会有坑:上面 Linux 二进制文件有 2 种,你要先看好自己 linux 服务器环境,再选择哪一种。否则有坑,后面介绍。

  如果需要下之前的版本,可以继续看下面,选择

  点击进入就会看到之前的各个版本,我本地 node 版本是 10.15.0,所以我也选择 10.15.0

  点进去可以选择这个版本。

2、在终端输入  ——  wget 命令安装

wget https://nodejs.org/download/release/v10.15.0/node-v10.15.0-linux-arm64.tar.xz // 将上面图中的连接拼接即可知道下载链接 二、配置nodejs环境

1、解压

  我将文件下载在我的 /usr/local/src 目录,首先解压

// 将 tar.xz 压缩文件转成 node-v10.15.0-linux-arm64.tar xz -d node-v10.15.0-linux-arm64.tar.xz // 再用 tar xvf node-v10.15.0-linux-arm64.tar 解压缩文件 tar -xvf node-v10.15.0-linux-arm64.tar // 可修改名字(也可以不改名字的) mv node-v10.15.0-linux-arm64 nodejs

  可以进入到 nodejs 文件 bin 目录下,执行 ./node -v 可查看版本

  可以查看的到node版本,但是呢,这样不方便,我们想要的是全局都能用,而不是只能在某个目录下使用。我们现在就做下配置

2、配置软连接

  返回根目录,对node和npm设置软连接

ln -s /usr/local/src/nodejs/bin/node /usr/local/bin/node ln -s /usr/local/src/nodejs/bin/npm /usr/local/bin/npm

  还可以加上 npx 的软连接

ln -s /usr/local/src/nodejs/bin/npx /usr/local/bin/npx

  然后我们可以查看下/usr/local/bin/目录下是否有了node和npm了

  有了!我们在试下 node -v 是否可以查看得到版本号,如果可以,那么就证明node环境就差不多啦。

  node自带了npm,我们可以顺便都查下node和npm的版本,如果可以查到,则证明你的node和npm基本可以用啦

  进入node命令行,输入 node,执行 1+1 = 2,按两次 ctrl + c 退出命令行。

三、解决node -v报错cannot execute binary file: Exec format error的问题

  这里说一个问题,就是报错提示:

/usr/local/bin/node: cannot execute binary file

  字面意思是:不能执行二进制文件。

1、问题原因

  查阅文档发现问题所在:

  在执行任何的程序之前,必须确保程序和系统的版本位数是一致的,如果一种是x64,一种是32位的,就会出现上述的问题。

  linux系统下遇到cannot execute binary file的问题,一般由以下情况造成:

非root用户或者无执行权限 编译环境不同(程序由其他操作环境复制过来)

  对于第一种情况,采用增加执行权限即可chmod +x program

  对于第二种情况,建议将该程序二进制包拷贝过来,重新编译程序。因为我在实际操作过程中发现我将美国的VPS的整个操作系统环境打包后下载到本地服务器上解压后运行其中的程序会有如题所示问题出现,百思不得其解,系统都为centos5.2,最终发现是两者编译环境不同所致:

美国VPS是AMD64位处理器 本地服务器是INTEL32位处理器

  这两者的硬件编译环境有所差别,导致了这个问题。当然,下载的某些程序非二进制包,可以直接执行的,但却出现该问题,也是因为内核匹配不了CPU,intel是x86的,amd是amd64或是32位版本,对应清楚下载。

2、问题起因

  由于我最初在看别人博客装的,里面的安装文件是 x64 的,而我的服务器是 arm 的,应该选 arm 的安装包

3、解决方案

  查看操作系统信息

  aarch64的,那与arm有什么关系?

(1)了解arm64与aarch64的关系

  为了搞清这两者的关系,我去翻阅了armv8的manual。

ARMv8-A is the latest generation of the ARM architecture that is targeted at the Applications Profile. In this book, the name ARMv8 is used to describe the overall architecture, which now includes both 32-bit execution and 64-bit execution states. ARMv8 introduces the ability to perform execution with 64-bit wide registers, but provides mechanisms for backwards compatibility to enable existing ARMv7 software to be executed.

 AArch64 is the name used to describe the 64-bit execution state of the ARMv8 architecture. AArch32 describes the 32-bit execution state of the ARMv8 architecture, which is almost identical to ARMv7. GNU and Linux documentation (except for Redhat and Fedora distributions) sometimes refers to AArch64 as ARM64.

  简单地说,aarch64是armv8-A架构的一种运行时状态。arm64是aarch64在gnu/linux文档中的一种别称,两者几乎是混用的。

(2)如何解决?

  解决方案就是第一步就介绍的,选择对应的 ARM 安装包进行安装即可。

四、linux服务器安装node环境及项目部署

  后面有涉及需要:

1、/etc/profile 文件配置

2、node项目部署

2、pm2或forever安装部署

  可到这篇文章《linux服务器安装node环境及项目部署》查看,写的不错。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有