npm WARN EBADENGINE required: { node: ‘>=14‘ }

bash 复制代码
syh@syh-HKF-WXX:~$ npm install @lark-opdev/cli@latest -g
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'hpagent@1.2.0',
npm WARN EBADENGINE   required: { node: '>=14' },
npm WARN EBADENGINE   current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'typescript@5.8.2',
npm WARN EBADENGINE   required: { node: '>=14.17' },
npm WARN EBADENGINE   current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/syh/.npm/_logs/2025-03-16T07_25_18_634Z-debug-0.log

主要包含两个问题:


1. Node.js 版本过低

错误:

复制代码
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'hpagent@1.2.0',
npm WARN EBADENGINE   required: { node: '>=14' },
npm WARN EBADENGINE   current: { node: 'v12.22.9', npm: '8.5.1' }

你的当前 Node.js 版本是 v12.22.9 ,但是 @lark-opdev/cli 依赖的 hpagenttypescript 需要 Node.js >= 14,因此你的 Node.js 版本太旧了,需要升级。

解决方案

运行以下命令升级 Node.js:

sh 复制代码
sudo apt update
sudo apt install -y nodejs npm

如果安装后版本还是较低,可以使用 Node Version Manager (NVM) 进行升级:

sh 复制代码
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
source ~/.bashrc
nvm install 18
nvm use 18

然后检查 Node.js 版本:

sh 复制代码
node -v

确保 Node.js 版本 >=14


2. 权限不足

错误:

复制代码
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules'

你尝试全局安装 (-g) 依赖时,npm 需要写入 /usr/local/lib/node_modules,但你没有足够的权限。

解决方案

方法 1:使用 sudo

sh 复制代码
sudo npm install @lark-opdev/cli@latest -g

如果不想一直用 sudo,可以修正 npm 的权限:

sh 复制代码
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

方法 2:使用 --prefixnpm 安装到用户目录

sh 复制代码
npm install --prefix ~/.npm-global @lark-opdev/cli@latest -g

然后添加 ~/.npm-global/binPATH

sh 复制代码
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

最终步骤

  1. 升级 Node.js (至少 14+,推荐 18+)

  2. 使用 sudo 或修正权限

  3. 重试安装

    sh 复制代码
    npm install @lark-opdev/cli@latest -g
相关推荐
张鑫旭6 小时前
快速过下我2026年上半年的前端学了些啥
前端
এ慕ོ冬℘゜7 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
hoLzwEge7 小时前
拯救低效调试!code-inspector-plugin 让代码定位如虎添翼
前端·前端框架·node.js
J船长7 小时前
烂笔头扫盲:LLM Eval 入门:从「感觉挺好」到「数据说话」的工程化落地
前端
skiyee7 小时前
被多个 UView 系 UI 库 “抄” 的 @uni-ku/root 究竟怎么实现?
前端
鱼毓屿御7 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
sugar__salt8 小时前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
郝亚军8 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
SmartBoyW8 小时前
CSS弹性布局(Flexbox)学习笔记:从零开始搞懂弹性布局
前端·javascript
用户69371750013848 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端