文档章节

npm 模块全局安装的权限问题

黑魔法
 黑魔法
发布于 2016/12/07 14:39
字数 328
阅读 10
收藏 0
点赞 0
评论 0

我们经常需要安装全局 npm 模块,例如:

npm install -g coffee-script

这样写往往会报 EACCES 错误,因为缺省的 npm 全局安装目录(/usr/local/node_modules)没有给当前登录用户以写权限。所以一般我都是直接写 sudo npm install -g coffee-script 来解决这个问题。其实还有更好的方法:https://docs.npmjs.com/getting-started/fixing-npm-permissions

文章列出了两种方法,第一种就是修改 /usr/local/node_modules/usr/local/bin/usr/local/share 这三个目录的 owner:

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

这种方法适合这台电脑只有一个开发者使用的场景。

但是我司还有一台电脑是公共的,可以让不同的开发者临时使用,那么就是和方法二:

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

然后修改你的 .profile 或者 .zshrc(像我这样用zsh的话),添加:

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

根据 ~/.profile 内容更新当前 Shell:

source ~/.profile

从此以后 npm install -g 安装的模块就都会到该用户名字下面的 ~/.npm-global 目录中,这样就做到了用户隔离。


 

文/jacobbubu(简书作者)
原文链接:http://www.jianshu.com/p/050f74cc7d45
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

本文转载自:http://www.jianshu.com/p/050f74cc7d45

共有 人打赏支持
黑魔法
粉丝 10
博文 166
码字总数 43466
作品 0
武汉
前端工程师
npm 与 package.json 快速入门

npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深下理解吧! 读完本文你将了解: 什么是 npm 安装 npm 更新 npm pack...

u011240877
2017/08/02
0
0
Linux 上按照 node ccap 的问题

最近在使用 node 做点东西,选定了一个 node ccap 模块来生成验证码,踩坑 20 米 一、Mac 上的顺利 由于 js 本身并不适合密集运算,早就听说了在 node 上安装生成验证码依赖模块不太容易,但...

小虫巨蟹
2017/10/24
0
0
npm使用过程中的一些错误解决办法及npm常用命令

npm使用过程中的一些错误解决办法及npm常用命令  node,npm在前端开发流程中提供了非常完善的自动化工具链,但是同样由于其复杂性导致有很多奇奇怪怪的问题。本文将记录使用过程中出现的一些...

openthings
2016/12/24
404
0
如何使用 npm 管理 NodeJS 包

前一段时间,我们发布了一个使用 pip 管理 Python 包的指南。今天,我们将讨论如何使用 npm 管理 NodeJS 包。npm 是最大的软件注册中心,包含 600,000 多个包。每天,世界各地的开发人员通过...

作者: Sk
05/07
0
0
linux npm全局安装权限不足问题的正确解决办法

相信很多人遇到过这个问题,在linux上,从官网安装nodejs和npm后,每次全局安装模块都会提示权限不足: 问度娘是解决不了任何问题的(概率大于99%),度娘上面的解决方案都是改权限: 这个解...

Angeladaddy
04/25
0
0
在本地安装Regexper时遇到额问题:

在本地安装Regexper时遇到额问题: 首先要有nodejs环境 接下来安装 npm install npm install gulp -g npm install gulp --save-dev 会遇到以下的问题: Cannot find module './lib/streamre...

writeademo
2016/10/18
230
0
四、npm 包管理工具

原文来自:https://dkvirus.gitbooks.io/-npm/content/di-si-zhang-npm-bao-guan-li-gong-ju.html 4.1 分清全局安装与本地安装 刚学习 npm 的时候,官方教程在介绍 -g 参数时是这么描述的:“...

嘘别吵_4d1c
2017/12/09
0
0
NPM基础使用

NPM npm是javascript的包管理器,能解决NodeJS部署上的很多问题,本文对npm的基本命令做一些记录及介绍。 原文链接 npm是随node一起安装的,node下载地址。 npm特点: 可以从npm服务器上下载...

bestvist
2017/12/19
0
0
提升你的开发效率,10 个 NPM 使用技巧

对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹( npm init ),下载npm模块( npm install ),创建测试( npm test ) 和自定义脚本( npm run )。但是,进一步了解一些 np...

王练
2016/11/21
4.3K
8
nodejs 包管理npm

如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm。有的人会奇怪为何要引入又一个新东西来让我们已经够辛苦的编程工作雪...

IT追寻者
2016/06/28
48
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
12
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部