bash
syh@syh-HKF-WXX:~$ npm install @lark-opdev/cli@latest -g
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '[email protected]',
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: '[email protected]',
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: '[email protected]',
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
依赖的 hpagent
和 typescript
需要 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:使用 --prefix
让 npm
安装到用户目录
sh
npm install --prefix ~/.npm-global @lark-opdev/cli@latest -g
然后添加 ~/.npm-global/bin
到 PATH
:
sh
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
最终步骤
-
升级 Node.js (至少 14+,推荐 18+)
-
使用
sudo
或修正权限 -
重试安装 :
shnpm install @lark-opdev/cli@latest -g