不少才开始接触树莓派的友人,当去构建开发环境之际,都会碰到安装Nodejs以及 npm 的难题。
Linux 系统之下,这两个工具的安装方式,相对而言比较灵活,然而,却也比较容易致使让人感到困惑。
在我自行进行折腾的进程里,发觉不同的安装方式各自有着优点与缺点,尤其是 npm 与 nodejs 版本不相匹配的情形格外令人头疼。
这一日,便依据自身切身体会而得的实际操作经验,为诸位详尽地对比三种占据主流地位的安装方式,助力你寻觅到最为契合自身情形的方案。
apt-get 安装方便但版本容易错位
用系统自带的包管理器安装是最直接的方法。
于终端之中,输入 sudo apt-get update,接上 sudo apt-get upgrade 以作更新源之操作,而后,分别去执行 sudo apt-get install npm,紧接着执行 sudo apt-get install nodejs 即可。
这种方法的优点是非常省事,所有依赖都会自动处理好。
然而,问题显著呈现,apt 资源里的版本普遍较为陈旧,并且 npm 和 nodejs 版本的匹配程度不高。
有一回我完成安装之后,察觉到 nodejs 的版本处于 10.x,然而 npm 的版本却是 3.x,这致使好多现代前端项目无法正常运行。
倘若你所从事的项目对于版本方面的要求并非十分严苛,又或者仅仅是打算去做一番较为简单的代码测试,那么这般一种方法在一定程度上还算得上是能够满足所需的。
压缩包手动安装步骤繁琐但版本可控
想要完全掌控版本,从官网下载压缩包手动安装是个好选择。
首先,于 /home/pi/ 文件夹之中,运用 wget 去获取对应架构的 nodejs 压缩包,举例而言,像树莓派这样的情况时常会选择 node-v8.12.0-linux-armv7l.tar.xz。
tar -xvf 解压操作是在下载完成之后进行的,当完成解压之后,进入/home/pi/node/bin 目录此时就能够看到可执行文件了。
这时候只能在当前目录运行,为了方便使用,需要创建软链接:
sudo ln /home/pi/node/bin/node /usr/local/bin/node
sudo ln -s /home/pi/node/lib/node_modules/npm/bin/npm /usr/local/bin/npm
但这样配置后 npm 可能还会报模块找不到的错误。
解决的办法是,对 /usr/local/bin/npm 文件进行编辑,将其中的 $basedir 相对路径,替换为绝对路径 /home/pi/node。
虽说步骤相对较繁杂,不过只要怀有耐心去操作,最终就能够获取到全然可控的版本组合。
nvm 一键安装最省心推荐
经过多次折腾,我发现nvm才是最省心的方案。

nvm,其全称为 Node Version Manager,它是一种工具,专门用于.nodejs 版本的管理。
安装命令很简单:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
安装完成后重新打开终端,就能使用nvm install node安装最新版,或者nvm install 14.17.0安装指定版本。
... NODE_EXE="/home/pi/node/node.exe" ... NPM_CLI_JS="/home/pi/node/lib/node_modules/npm/bin/npm-cli.js" ...
在完成安装操作之后,使用 node -v 指令能够正常输出其版本相关的信息,并且使用 npm -v 指令也能够正常输出其版本相关的信息,对于匹配方面的问题,是完全不需要去操心担忧的。
仅仅通过 nvm use 版本号,就能做到切换版本,倘若朋友需要检测各种各样不同的环境情况时,这点是极为实用的。
这种方式把复杂的手动配置都自动化了,强烈推荐新手使用。
源码编译适合有特殊需求的玩家
除了上面三种方法,还可以从源码编译安装。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
去到 nodejs 的官方网站上去下载源码包,并予以解压,再而后进入到相应目录里去执行./configure --prefix=/usr/local/node,接着进行 make 操作并且使用 sudo 执行 make install 操作。
source ~/.bashrc
编译过程比较耗时,在树莓派上可能需要几十分钟。
nvm install v10.15.1
那其具备的益处在于可以去自行定义设置安装的路径以及开展编译的选项,这是契合那些有着需要对性能进行优化或者是实施交叉编译场景要求的情形。
普通用户不太建议尝试,因为性价比不高。
总而言之,要是追求简便迅速,那就选用 apt-get,要是需要精准把控版本,那就采用手动压缩包,而 nvm 兼顾了便捷性以及灵活性,是我个人最为推荐的方案。

每个人于挑选安装方式之际,能够依照自身的项目所需以及时间耗费成本去做出判定。

不管选哪种,提前做好备份总是没错的。

Comments NOTHING