npm install -g node-gyp error -13

错误内容

复制代码
npm install -g node-gyp
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/node-gyp
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-gyp'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-gyp'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/node-gyp'
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.

解决办法

这个错误表明您在尝试全局安装 node-gyp 时遇到了权限问题。这可能是因为您没有足够的权限将模块安装到全局目录。

有几种方法可以解决这个问题:

1. 使用 sudo(需要管理员权限)

使用管理员权限运行 npm install 命令。请注意,这样做可能会导致一些权限问题,因此请确保您知道自己在做什么。

复制代码
sudo npm install -g node-gyp

2. 使用 Node 版本管理器(推荐)

使用 Node 版本管理器(如 nvm 或 n)来安装 Node.js 和 npm,并确保您有足够的权限来安装全局模块。这样可以避免以管理员身份运行 npm。

首先,安装 Node 版本管理器。以下是使用 nvm 的示例:

复制代码
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh> | bash

然后,关闭并重新打开终端或运行 source ~/.bashrcsource ~/.zshrc,以加载 nvm。

接下来,使用 nvm 安装 Node.js:

复制代码
nvm install node

最后,您可以全局安装 node-gyp

复制代码
npm install -g node-gyp

这样可以确保您在用户目录下具有足够的权限,而无需使用 sudo

注意:

  • 如果您使用 sudo 安装,请小心操作,并确保您了解潜在的风险。
  • 在尝试解决问题之前,请备份重要数据。
  • 使用 Node 版本管理器可以更方便地管理不同版本的 Node.js,并避免权限问题。
相关推荐
yingyima9 分钟前
Azure Functions 定时触发器配置:Cron vs. TimerTrigger,谁主沉浮?
前端
TeamDev13 分钟前
JxBrowser 9.1.1 版本发布啦!
java·前端·chromium·混合应用·jxbrowser·嵌入式浏览器·浏览器控件
爱勇宝15 分钟前
如何评估 AI 大模型的商业价值?
前端·后端·程序员
蜡台44 分钟前
UniApp WebView 组件宽高设置与动态适配全方案
前端·javascript·uniapp·webview·iframe
半个烧饼不加肉1 小时前
JS 底层探究-- 调用栈(Call Stack)
开发语言·前端·javascript
子午1 小时前
基于DeepSeek的智能校园教务管理系统~Web管理系统+Vue3+Python+DeepSeek智能问答
前端
change_fate1 小时前
ERR_PNPM_WORKSPACE_PKG_NOT_FOUND In ...
java·服务器·前端
超人不会飞_Jay2 小时前
26.6.3Vue笔记
前端·vue.js·笔记
御坂100272 小时前
Vue - @change应用实现下拉框联动功能
前端·javascript·vue.js
小雨下雨的雨2 小时前
基于 Electron 运行时的鸿蒙PC桌面应用-安全可靠的随机密码生成工具
前端·javascript·华为·electron·前端框架·鸿蒙