首页 前端知识 解决在Mac下使用npm报错:Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue‘

解决在Mac下使用npm报错:Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue‘

2024-05-26 00:05:47 前端知识 前端哥 295 128 我要收藏

目录

  • 操作说明
    • 操作系统:macOS
    • 命令:npm install -g @vue/cli
    • ❎ 报错内容:npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@vue'
      • 原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹
      • 解决方法:
        • 方法1:使用 npm 的全局安装目录(推荐)
        • 方法2:使用 sudo(不推荐)
  • 补充:安装nvm

操作说明

操作系统:macOS

命令:npm install -g @vue/cli

❎ 报错内容:npm ERR! Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue’

详细如下:

npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/@vue
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@vue'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@vue'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/@vue'
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.

原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹

这个错误表明你在安装或更新 Vue.js(@vue)包时,没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹。
这通常是因为默认情况下,普通用户没有权限在 /usr/local/lib 目录中进行写入操作。

解决方法:

方法1:使用 npm 的全局安装目录(推荐)

在 macOS 系统上,你可以使用 Node.js 的版本管理工具 nvm 或 n 来安装 Node.js,这样会避免权限问题。首先,你可以使用其中一个版本管理工具安装一个新的 Node.js 版本,并在其上运行以下命令来安装 Vue.js:

nvm install stable  # 使用 nvm 安装最新稳定版 Node.js
nvm use stable     # 使用刚刚安装的 Node.js 版本

# 或者如果你使用的是 n,可以运行以下命令:
# n latest
# n use latest

npm install -g @vue/cli

这将安装 Vue.js 到 Node.js 的全局安装目录中,通常在用户的主目录下,而不需要管理员权限。

PS: 如果你在终端中遇到 “zsh: command not found: nvm” 错误,这意味着 Node Version Manager (nvm) 没有正确地安装或配置。
下方的补充有安装nvm的步骤,照着执行即可。

方法2:使用 sudo(不推荐)

如果你坚持要在全局范围安装 Vue.js,你可以使用 sudo 命令来获取管理员权限。
但是,使用 sudo 安装全局包可能会导致一些权限问题,因为后续执行的命令也可能需要使用 sudo。

sudo npm install -g @vue/cli

补充:安装nvm

  1. 安装 nvm:
    在终端中运行以下命令来安装 nvm:
    使用 curl 安装方法:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
    

    使用 wget 安装方法:

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
    

    注意:将 v0.39.0 替换为最新版本的 nvm,如果有更高版本可在 nvm GitHub 仓库 中查找。

  2. 在 shell 中加载 nvm:
    安装完成后,需要将 nvm 加载到当前的终端会话中。关闭并重新打开终端,或者运行以下命令来加载 nvm:

    source ~/.nvm/nvm.sh
    

    如果你使用的是 zsh 作为你的 shell,将上面的命令替换为:

    source ~/.nvm/nvm.sh --no-use
    
  3. 验证 nvm 安装:
    运行以下命令验证 nvm 是否已经安装成功:

    nvm --version
    
转载请注明出处或者链接地址:https://www.qianduange.cn//article/9503.html
标签
macos
评论
会员中心 联系我 留言建议 回顶部
复制成功!