NPM全局安装软件包时解决EACCES权限错误

2023-05-16

NPM全局安装软件包时解决EACCES权限错误

Resolving EACCES permissions errors when installing packages globally

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
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 (though this is not recommended).

如果在尝试全局安装软件包时看到EACCES错误,则可以:

  • 使用节点版本管理器重新安装npm(推荐)
  • 手动更改npm的默认目录

使用Node.js包管理器,重新安装NPM

这是避免权限问题的最佳方法。 要使用节点版本管理器重新安装npm,请按照“下载并安装Node.js和npm”中的步骤进行操作。 在安装节点版本管理器之前,不需要删除当前版本的npm或Node.js。

要下载最新版本的npm,请在命令行上运行以下命令:

[sudo] npm install npm -g

手动更改npm的默认目录

注意:本部分不适用于Microsoft Windows。

为了最大程度地减少权限错误的可能性,您可以将npm配置为使用其他目录。 在此示例中,您将在主目录中创建并使用隐藏目录。

1、 备份电脑。

2、在命令行的主目录中,为全局安装创建目录:

 mkdir ~/.npm-global

3、 配置npm以使用新的目录路径:

npm config set prefix '~/.npm-global'

4、在您喜欢的文本编辑器中,打开或创建〜/ .profile文件并添加以下行:

export PATH=~/.npm-global/bin:$PATH

5、在命令行上,更新系统变量:

source ~/.profile

6、要测试新配置,请在不使用sudo的情况下全局安装软件包:

npm install -g jshint

您可以使用相应的ENV变量来代替第2-4步(例如,如果您不想修改〜/ .profile):
bash NPM_CONFIG_PREFIX=~/.npm-global

npx:运行全局命令的替代方法

如果您使用的是npm 5.2或更高版本,则可能要考虑将npx作为运行全局命令的替代方法,尤其是在您仅偶尔需要命令的情况下。

转载于:https://www.cnblogs.com/iPing9/p/11572555.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NPM全局安装软件包时解决EACCES权限错误 的相关文章

随机推荐

  • axios使用

    axios 基于promise用于浏览器和node js的http客户端 特点 支持浏览器和node js支持promise能拦截请求和响应能转换请求和响应数据能取消请求自动转换JSON数据浏览器端支持防止CSRF 跨站请求伪造 一 安装
  • 新安装mysql密码设置_详解MySQL安装及MySQL8.0新密码认证方式

    1 前言 Oracle已经发布了MySQL8 0GA xff0c GA在外国就是release版本 xff0c 也就是正式版 xff0c 不是测试版 安装MySQL总是看到除了数据库服务外 xff0c 还安装了一大堆基本没不会用到的服务 x
  • 红旗linux如何开远程桌面,配置VNC服务实现红旗Linux远程桌面访问

    标题 xff1a 配置VNC服务实现红旗Linux远程桌面访问 内容简介 xff1a VNC Virtual Network Computing 是虚拟网络计算机的缩写 xff0c 是一款优秀的远程控制工具软件 xff0c 由著名的AT a
  • 编译aarch64android,aarch64-linux-android-gcc交叉编译android 64位动态库

    一 准备工作 1 交叉编译工具 下载 生成android ndk xff0c 我使用的是android ndk r12b xff0c 平台支持从android 9到android 24 二 编译过程 1 指定编译工具链 CC HOME 61
  • debian创建apt-proxy代理

    由于公司网络比较慢 所以需要建立一个代理服务器或镜象站点 考虑到创建和维护镜象的投入比较大 所以选择apt proxy代理来做 可以缓解公司带宽不足的矛盾 而且只有在代理缓存 没有相应组件的情况下才去网络下载 好处多多 下面先推荐几个国内比
  • go 只使用函数返回的一个值_详解二:Go 语言机制之逃逸分析

    前序 xff08 Prelude xff09 本系列文章总共四篇 xff0c 主要帮助大家理解 Go 语言中一些语法结构和其背后的设计原则 xff0c 包括指针 栈 堆 逃逸分析和值 指针传递 这是第二篇 xff0c 主要介绍堆和逃逸分析
  • Python+Selenium自动化-清空输入框、输入内容、点击按钮

    Python 43 Selenium自动化 清空输入框 输入内容 点击按钮 1 输入内容 send keys 39 valve 39 xff1a 输入内容valve span class hljs comment 定位输入框 span in
  • requests.get()参数

    查询参数 params 1 参数类型 字典 字典中键值对作为查询参数 2 使用方法 1 res 61 requests get url params 61 params headers 61 headers 2 特点 url为基准的url地
  • 实例方法、类方法和静态方法区别

    class A 实例方法 def f1 self return 1 类方法 64 classmethod def f2 cls return 2 静态方法 64 staticmethod def f3 return 3 a 61 A a f
  • Python私有函数和专有方法

    在任何语言中 xff0c 都会规定某些对象 属性 方法 函数 类等 只能够在某个范围内访问 xff0c 出了这个范围就不能访问了 这是 公 私 之分 此外 xff0c 还会专门为某些特殊的东西指定一些特殊表示 xff0c 比如类的名字就不能
  • 1-mac上安装vscode并配置C++环境

    1软件与扩展 在vscode官网下载安装包 xff0c 并完成安装在vscode软件内 xff0c 下载并安装C C 43 43 扩展 xff0c 如下图所示 2安装编译器 执行下面的代码 xff0c 如果报错 下图第三行 xff0c 说明
  • 深度学习数学基础

    机器学习简介 xff1a 特征向量 目标函数 机器学习分类 xff1a 有监督学习 xff1a 分类问题 xff08 如人脸识别 字符识别 语音识别 xff09 回归问题 无监督学习 xff1a 聚类问题 数据降维 强化学习 xff1a 根
  • zabbix监控Linux服务器丢包率

    http www ttlsa com zabbix zabbix simple checks 这个文章看了 xff0c 还没有实践 1 先创建监控项 xff0c 键值如下 icmppingloss lt 121 131 24 39 gt l
  • 重装@angular/cli reason: write EPROTO 139955972261696:error:1408F10B:SSL routines:ssl3_get_record:wron...

    前几天不小心卸载了 angular 64 cli 然后重装的时候发现 xff0c 一直报错 如下 xff1a 64 ln622653 npm install g 64 angular cli npm ERR code EPROTO npm
  • Outlook2016删不掉主账户的解决方法

    控制面板 gt 账户 gt 邮件把配置文件删了 前两项和Outlook内部打开账户选项一样没用 进第三个 重启Oulook的时候会提示重新建一个配置 就OK了 转载于 https www cnblogs com haimingpro p 6
  • 新版新概念英语1-4册(英音+美音)MP3打包下载

    新版新概念英语第一册MP3 美音 新版新概念英语第一册MP3 英音 新版新概念英语第一册PDF 课文 新版新概念英语第二册MP3 美音 新版新概念英语第二册MP3 英音 新版新概念英语第二册PDF 课文 新版新概念英语第三册MP3 美音 新
  • linux远程windows无法输入,XRDP在Windows下用远程桌面连接,键盘失效有关问题

    XRDP在Windows下用远程桌面连接 xff0c 键盘失效问题 很久没上这个博客了 xff0c 最近在做虚拟化方面的东西 xff0c 有个需求是通过windows远程连接Linux桌面 xff0c 采用的是xrdp 安装和使用xrdp都
  • 3367 【模板】并查集

    题目描述 如题 xff0c 现在有一个并查集 xff0c 你需要完成合并和查询操作 输入输出格式 输入格式 xff1a 第一行包含两个整数N M xff0c 表示共有N个元素和M个操作 接下来M行 xff0c 每行包含三个整数Zi Xi Y
  • MySQL优化之my.conf配置详解

    最近项目不太忙 xff0c 所以有时间静心来研究下mysql的优化 xff0c 对于MySQL的设置是否合理优化 xff0c 直接影响到网站的速度和承载量 xff01 同时 xff0c MySQL也是优化难度最大的一个部分 xff0c 不但
  • NPM全局安装软件包时解决EACCES权限错误

    NPM全局安装软件包时解决EACCES权限错误 Resolving EACCES permissions errors when installing packages globally npm WARN checkPermissions