解决修复npm安装全局模块权限的问题

相信我们曾经可能都遇到过全局安装某个模块包的过程中提示EACCESS的错误问题。这是由于npm全局安装模块的默认路径没有权限导致的。

有三个方式可以解决该问题:

修改全局安装路径的权限

修改默认安装路径

借助第三方工具安装node

修改安装路径的权限

查看默认全局安装路径

npm config get prefix

对于大多数系统显示目录为:/usr/local

警告:如果默认路径是在/usr/请跳过该步骤,否则你会搞乱系统权限。

修改路径权限

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

执行完毕将会把/usr/local下的lib/node_modules、bin、share所有权更改为当前用户。

修改默认全局安装路径

当你不想修改默认安装路径的权限,因为由此可能会带来一些额外问题,譬如说,修改权限后无法跟当前系统其他用户共享。这个时候可以考虑修改默认的安装路径。

在示例下,我把默认全局安装路径修改到当前用户的home目录下面:

1、新建一个全局安装的路径

mkdir ~/.npm-global

2、配置npm使用新的路径

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

3、打开或者新建~/.profile,加入下面一行

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

4、更新系统环境变量

source ~/.profile

安装一个全局包试一试:

npm install -g jshint

[luncher@localhost aaa]$ ls ~/.npm-global/bin/
jshint
[luncher@localhost aaa]$

借助第三方工具安装node

mac系统借助brew安装node

brew install node

centos借助yum工具安装node

yum install node

以上这篇解决修复npm安装全局模块权限的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决linux下node.js全局模块找不到的问题

    今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没问题. /usr/local/node/node-v7.3.0-linux-x64/bin/pm2 list 类似这样调用pm2 list命令查看pm2启动的项目没有任何问题. 原来linux系统上通过npm全局安装了模块以后,不能像windos下面那样自动配置环境变量,需要自己动手配置...好吧,

  • 解决Nodejs全局安装模块后找不到命令的问题

    碰到了这问题,记录一下,看提示应该是环境变量的问题,执行如下命令得到Nodejs的模块安装路径: npm prefix -g 将输出的全局安装路径加入的环境变量的Path条目中即可. 以上这篇解决Nodejs全局安装模块后找不到命令的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Nodejs全局安装和本地安装的不同之处 npm全局模块卸载及默认安装目录修改方法 解决node.js安装包失败的几种方法 修改npm全局安装模式的路径方法 n

  • nodejs npm install全局安装和本地安装的区别

    npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如: 复制代码 代码如下: npm install grunt # 本地安装npm install -g grunt-cli # 全局安装 下面分别解释. 1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 通过 npm config get prefi

  • npm全局模块卸载及默认安装目录修改方法

    卸载全局安装模块  npm uninstall -g <package> 卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:npm ls npm的指令还是要多看英文文档,如https://docs.npmjs.com/. 查看所有全局安装的模块 npm ls -g 查看npm默认设置(部分) npm config ls 查看npm默认设置(全部) npm config ls -l 如图,可以看出全局模块默认安装在prefix目录下  C:\Users

  • 完美解决linux下node.js全局模块找不到的情况

    今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没问题. /usr/local/node/node-v7.3.0-linux-x64/bin/pm2 list 类似这样调用pm2 list命令查看pm2启动的项目没有任何问题. 原来linux系统上通过npm全局安装了模块以后,不能像windos下面那样自动配置环境变量,需要自己动手配置...好吧,

  • 修改npm全局安装模式的路径方法

    在正式写此文章之前,我得说一点血泪史. 刚学nodeJS不久,很纳闷为什么全局安装的模块在 'node安装目录/node_modules' 中没找到!后来仔细看了下安装成功后的信息,才发现原来是自动安装在C盘了,天啊,C盘肯定不能来放这些东西的啦,于是呢就上网百度了一下. 方法一:(百度到的,不过对我无效....) 打开 'nodejs安装目录/node_modules/npm/.npmrc' ,修改此文件为: prefix = G:\nodejs\npm_global_modules 好了,试

  • 解决修复npm安装全局模块权限的问题

    相信我们曾经可能都遇到过全局安装某个模块包的过程中提示EACCESS的错误问题.这是由于npm全局安装模块的默认路径没有权限导致的. 有三个方式可以解决该问题: 修改全局安装路径的权限 修改默认安装路径 借助第三方工具安装node 修改安装路径的权限 查看默认全局安装路径 npm config get prefix 对于大多数系统显示目录为:/usr/local 警告:如果默认路径是在/usr/请跳过该步骤,否则你会搞乱系统权限. 修改路径权限 sudo chown -R (whoami)(wh

  • 利用npm 安装删除模块的方法

    npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [npm install -g xxx]利用npm安装全局模块xxx: 本地安装时将模块写入package.json中: [npm install xxx]安装但不写入package.json: [npm install xxx –save] 安装并写入package.json的"dependencies"中: [npm install xxx –save-dev]安装并写入packa

  • 解决python 自动安装缺少模块的问题

    场景 我写个脚本给别人用,但是这个脚本中包含了一个第三方库. 当然对方执行的时候就会提示缺少,能否让python自动安装呢? 解决 try: import requests except : import os os.system('pip install requests') import requests 以上这篇解决python 自动安装缺少模块的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法

    目录 事情经过 问题描述 解决方法 总结 事情经过 今天通过npm安装全局工具,安装完成后,使用新安装的工具命令,竟然显示“不是内部或外部命令,也不是可运行的程序” 之前通过npm安装全局包,就可以正常使用,为什么今天就不可以了呢? 然后我去试之前安装过的全局包,结果也是这样. 然后我就去看npm全局包的目录,发现这些包都在,Node.js的环境变量也是正确的. 离谱了!npm安装的全局包突然就不能用了 然后去网上搜,发现没有用,然后我就卸载node.js重新安装,还是没有用. 离大谱了!! 正

  • NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解

    1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的"INSTALL"按钮,直接点击就会自动下载安装了. 2.安装过程基本直接"NEXT"就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如"C:\Program Files\nodejs"). 3.安装完成后可以使

  • node自定义安装更改npm全局模块默认安装路径的步骤

    笔者将node安装到了D盘,同时也需要改变npm全局包默认安装的路径,因为不想占C盘空间 第一步当然是去node官网下载对应的版本,同时安装到D盘,先要在D盘新建一个nodejs文件夹 安装不会自己建文件夹 下载地址 选择自己的安装包,然后安装的时候选择D:\nodeJs 就行了 完成安装后,这个时候环境变量里面是没有node的,所以桌面上是找不到node和npm,打开安装的文件夹,新建2个文件夹 node_cache 和node_global global是存放,全局安装的模块的,比如 npm

  • Linux Centos7.2下安装nodejs&npm配置全局路径的教程

    首先登陆官网:https://nodejs.org/en/ 安装之前检测是否装了 gcc gcc-c++ python 2.7+ 没有的话yum install 下载完成之后上传到Linux: rz 没有rz sz的话安装一下(yum -y install lrzsz) 然后依次执行: cd /usr/local mkdir nodejs6 cd nodejs6 rz ------ 选择nodejs文件 tar xzvf node-v6.11.0.tar.gz cd node-v6.11.0 .

随机推荐