网站首页 > 文章精选 正文
树莓派npm和nodejs是分开安装的。
方案一 apt-get 安装
sudo apt-get update && apt-get upgrade
- npm
sudo apt-get install npm
- nodejs
sudo apt-get install nodejs
问题:
容易出现npm 和 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的版本信息了。
问题:
一步一步比较麻烦
方案三 nvm 安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bashrc
nvm install v10.15.1
安装后可通过node -v ,npm -v 查看版本,说明node和npm安装成功
PS
也可以用系统下载现成的程序自己安装,下载源码自己编译等,各有优缺点,个人比较喜欢方案三。
猜你喜欢
- 2025-05-08 深入理解受控组件、非受控组件(受控和非受控的区别)
- 2025-05-08 安装Dify源码并修改前端发布(源码安装是什么意思)
- 2025-05-08 前端工程师都会遇到的nodejs常见问题和解决方案复盘
- 2025-05-08 RAGFlow:深度文档理解的RAG引擎、大海捞针测试、API集成业务!
- 2025-05-08 Win11和Win10专业版永久激活密钥详细步骤?
- 2025-05-08 微信小程序入门1(微信小程序入门与实践)
- 2025-05-08 树莓派基础安装(树莓派安装zsh)
- 2025-05-08 项目中使用 husky 格式化代码和校验 commit 信息
- 2025-05-08 Node.js 原生支持 TypeScript?开发者需要了解的一切
- 2025-05-08 Nodejs安装、配置与快速入门(nodejs安装步骤)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)