0

0

linux怎么安装pnpm_linux配置nodejs工具【实战】

尼克

尼克

发布时间:2026-03-14 18:16:46

|

700人浏览过

|

来源于php中文网

原创

根本原因是npm全局bin目录未加入$PATH或shell未加载更新的环境变量;需检查npm config get prefix、将对应/bin加入shell配置并source,同时确保Node.js≥18.17、npm≥9.6,并正确配置pnpm store-dir避免权限问题。

linux怎么安装pnpm_linux配置nodejs工具【实战】

pnpm 安装失败:npm install -g pnpm 不生效?

根本原因不是命令写错,而是 npm 全局 bin 目录没进 $PATH,或者当前 shell 没加载更新后的环境变量。常见现象是执行 pnpm --versioncommand not found,但 npm list -g pnpm 显示已安装。

  • 先确认全局安装路径:npm config get prefix,通常返回类似 /home/username/.npm-global/usr/local
  • 检查该路径下的 bin 是否在 $PATH 里:echo $PATH | grep -o "/.*npm.*/bin"
  • 若没命中,把 $(npm config get prefix)/bin 加进 ~/.bashrc~/.zshrc(看用的 shell),然后 source ~/.bashrc
  • 别用 sudo npm install -g pnpm —— 权限混乱会导致后续 pnpm store 权限错误

Node.js 版本太低:pnpm v9 要求 Node.js ≥ 18.17

装完 pnpm 却提示 ERR_PNPM_UNSUPPORTED_NODE_VERSION,大概率是系统自带或旧版 Node.js。Ubuntu/Debian 默认源里的 nodejs 包往往卡在 12.x 或 16.x,不够用。

  • 查当前版本:node --version,低于 v18.17.0 就得换
  • 推荐用 volta 管理(比 nvm 更轻、无 shell hook):curl https://get.volta.sh | bash,然后 volta install node@18.18.2
  • 避免用 apt install nodejs —— 官方包不更新,且 npm 版本也老旧,容易和 pnpm 的 store 格式冲突
  • 验证:node --version && npm --version 都要能正常输出,且 npm 版本 ≥ 9.6(pnpm v9 依赖较新 npm 内部 API)

pnpm store 权限被拒:Operation not permitted 错误

首次运行 pnpm install 时卡住,日志末尾出现 EPERM: operation not permitted,多见于 WSL2 或某些 Linux 发行版(如 Fedora Silverblue),本质是 pnpm 默认 store 路径(~/.local/share/pnpm/store)被文件系统或 SELinux 限制写入。

意兔-AI漫画相机
意兔-AI漫画相机

照片变漫画手绘,做周边好物

下载
  • 临时绕过:加 --no-store,但失去硬链接优势,磁盘占用翻倍
  • 正确做法:改 store 路径到用户可完全控制的目录,比如 ~/.pnpm-store,并设为全局配置:pnpm config set store-dir ~/.pnpm-store
  • 如果用了 voltanvm,确保 PNPM_HOMEPNPM_STORE_DIR 环境变量没冲突(优先级:命令行 > 环境变量 > 配置文件)
  • 别手动 chown -R 原 store 目录 —— pnpm 启动时会校验 store 完整性,权限乱了反而报 ERR_PNPM_STORE_IS_LOCKED

为什么不用 npm / yarn?pnpm 在 Linux 上的真实优势场景

不是为了“新”,而是解决具体问题:多项目共存、CI 构建速度、磁盘空间紧张。Linux 开发者常同时维护 5+ Node.js 服务,每个都 node_modules 占 200MB+,传统方式很快吃光 SSD。

  • pnpm 的硬链接 store 让 10 个项目共享同一份依赖二进制,实际 node_modules 目录体积压缩到原来的 1/5~1/3
  • CI 中 pnpm install --frozen-lockfilenpm ci 快 30%~50%,尤其在小内存 VPS 上更稳(内存占用低 40%)
  • 注意:pnpm 不兼容某些硬编码 node_modules 路径的工具(如老版 electron-builder),遇到 Cannot find module 先查 pnpm help link 看是否需显式 pnpm link

真正麻烦的是跨用户共享 store 和 systemd service 里运行 pnpm —— 这俩地方的权限和环境变量隔离比想象中严,别图省事直接用 root 装,出问题更难 debug。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

455

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

183

2023.10.30

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

531

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

576

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

761

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

6279

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

493

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号