树莓派安装配置nodejs

首先是安装nodeJS,找了很多教程。

  • 第一种教程是下载源码自己编译党。树莓派那个性能,编译肯定要很久的。所以被我排除了。
  • 第二种是下载编译好的包,解压安装,然后自己配置。
  • 第三种是利用系统下载现成的程序自己安装。但是linux的源的东西基本上都有点容易过时,所以这个方法不稳定。

于是我采取了第二种方案,下载编译好的压缩包

首先是查看你的树莓派的系统位数和版本。
  • 我的系统是32位的,但是下载了64位node,结果导致不能运行才发现这个问题。在命令行输入file /bin/ls,就会输出你的系统信息:ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=c24d547f9d1a35be487f168d83c3cbfcebeaa39c, stripped。可以看到,32-bit说明系统是32位的。

  • 然后是确认CPU的架构。在命令行输入uname -a,就会输出你的系统基础信息:Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linuxv7说明是V7版本的。

找到nodejs压缩包的下载地址

https://nodejs.org/en/download/这是nodejs下载页面。

选择对应系统版本

然后对着按钮右键,复制链接地址。

下载压缩包

在命令行,进入到/home/pi/这个文件夹。输入命令wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-armv7l.tar.xz
这个网址就是刚刚复制的网址,我用putty,点一下鼠标右键就复制进去了。
回车等待下载。。。
我出去吃了个饭,回来刚刚下载到99%。

解压压缩包

下载完成后,在当前目录下,继续输入命令tar -xvf node-v8.12.0-linux-armv7l.tar.xz解压文件。现在就下载安装了nodejs了。解压会生成一个node文件夹,里面就是程序文件了。

测试安装是否成功

cd /home/pi/node/bin进入到文件夹 /home/pi/node/bin
ls -l查看当前文件夹下是否有名叫 node 的可执行文件。
./node -v 查看nodejs的版本,正常情况会输出v8.12.0这样的node版本信息。
./npm -v 查看npm的版本,正常情况会输出6.4.1这样的版本信息。

配置链接

现在我们还不能在任意文件夹使用nodejs。要么把它们配置到环境变量,要么就做个链接来使用。我采用的配置链接的方式。
sudo ln /home/pi/node/bin/node /usr/local/bin/node 配置node的链接。
sudo ln -s /home/pi/node/lib/node_modules/npm/bin/npm /usr/local/bin/npm 配置npm的链接。
现在换个文件夹执行node -v会输出node版本信息,但是npm -v却会报错
Error: Cannot find module '/usr/local/bin/node_modules/npm/bin/npm-cli.js

修改npm链接内容

sudo vi /usr/local/bin/npm ,然后把两处相对路径 $basedir 改成绝对路径 /home/pi/node

...
NODE_EXE="/home/pi/node/node.exe"
...
NPM_CLI_JS="/home/pi/node/lib/node_modules/npm/bin/npm-cli.js"
...

我改的是basedir的值,也可以运行。
现在运行npm -v就可以正常输出npm的版本信息了。

参考教程:
raspberryPi树莓派安装nodejs-CSDN博客

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容