NPM全局安装软件包时解决EACCES权限错误
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):
NPM_CONFIG_PREFIX=~/.npm-global
npx:运行全局命令的替代方法
如果您使用的是npm 5.2或更高版本,则可能要考虑将npx作为运行全局命令的替代方法,尤其是在您仅偶尔需要命令的情况下。
NPM全局安装软件包时解决EACCES权限错误的更多相关文章
- npm全局安装和本地安装和本地开发安装(npm install --g/--save/--save-dev)
详细说明参考:http://www.cnblogs.com/PeunZhang/p/5629329.html 我个人理解: 1.全局安装(npm install -g)是为了用命令行,比如在windo ...
- 查看npm全局安装位置
查看npm全局安装位置:npm config get prefix 设置位置:npm config set prefix 填写位置
- 记录Linux下安装elasticSearch时遇到的一些错误
记录Linux下安装elasticSearch时遇到的一些错误 http://blog.sina.com.cn/s/blog_c90ce4e001032f7w.html (2016-11-02 22: ...
- 【问题】SUSE已经安装了libsodium,安装zeromq时出现下面的错误?
1.[问题]SUSE已经安装了libsodium,安装zeromq时出现下面的错误? checking for libsodium... no configure: error: Package re ...
- npm 在安装的时候提示 没有权限操作的解决办法 Error: EACCES: permission denied
十分感谢https://blog.csdn.net/ldqsxsl/article/details/75059607的帮助! 错误原因:权限错误,需要root用户. 解决办法:就是把用户目录下的 .n ...
- 【hexo+github搭建myblog】bash: npm: command not found 问题,疑似解决!关键词:NPM全局安装路径
情况:打算用hexo+github搭建个人博客 1. hexo搭建,参考博文如下,非常感谢: Hexo+Github博客搭建完全教程 hexo从零开始到搭建完整 问题: 在最基本的安装步骤 (参考链接 ...
- npm全局安装和局部文件安装区别
全局安装往往是安装一个工具,他不是安装在一个文件夹下,而是安装在某个全局环境下,如目前我的安装路径是: C:\Users\cvter\AppData\Roaming\npm 在这里,我们可以看到所有全 ...
- npm无法安装node-sass的解决方法
使用npm install 命令安装node-sass时,经常出现安装失败的情况.原因在于npm服务器在美国,还有就是某强大的防火墙作用.导致模块无法下载. npm install node-sass ...
- npm 全局安装和局部安装的区别
上图是从网上找的webpack 安装的步骤,我们看到除了要全局安装之外,还需要本地安装,那么这两者有什么区别呢? 本文以Windows平台上做测试,以webpack为示例做教程 什么是全局安装? 安装 ...
随机推荐
- 如何查看class文件的编译jdk版本号
使用命令 javap -verbose 命 进入cmd中,使用如下命令 红色
- Oracle的查询-子查询
--子查询 --子查询返回一个值 --查询出工资和scott一样的员工信息 select * from emp where sal in (select sal from emp where enam ...
- javaweb配置连接mysql数据库
1.首先新建基础连接类BaseDao,在这里配置链接的数据库名称,用户名以及密码,以及执行读与写操作的父方法,代码如下: package com.demo.dao; import java.sql.D ...
- 分享一些JVM常见的面试题(转)
出处: 分享一些JVM常见的面试题 前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 ...
- .Net下二进制形式的文件存储与读取
.Net下图片的常见存储与读取凡是有以下几种:存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].1.参数是图片路径:返回 ...
- StoneTab标签页CAD插件 3.2.3
//////////////////////////////////////////////////////////////////////////////////////////////////// ...
- Oracle 以及 PLSQL安装
今天重装系统遇到oracle 安装的问题咯 ,oracle安装过程中很多疑难杂症咯 1如果之前装过,记得去删除注册表的Oracle 相关的文件 ,请百度有很多教程咯 2这个必须要勾选的!因为的是11g ...
- VBA精彩代码分享-3
在开发VBA程序中,我们可能会需要用代码处理VBA工程,包括启用VBA工程访问,启用所有宏,动态插入代码,动态删除代码,动态添加引用和自动创建模块等等,本次的分享内容便以这些为主. 启用VBA工程访问 ...
- editormd 富文本编辑器转 html
// html <div id="markdown-view"> <textarea id="markdownView" style=&quo ...
- ES6入门六:class的基本语法、继承、私有与静态属性、修饰器
基本语法 继承 私有属性与方法.静态属性与方法 修饰器(Decorator) 一.基本语法 class Grammar{ constructor(name,age){ //定义对象自身的方法和属性 t ...