npm install -g 全局安装总是出现permission权限问题的解决方案

开始使用node的时候,在使用npm安装global packages时,习惯性地使用npm install -g xxx,然后总是提示权限问题,安装失败。

需要使用sudo。这问题确实让我比较窝火。一个package完全没有必要放入到需要特殊权限的/usr/local/目录,于是想办法解决它。

这里提供一种解决方案,将npm的global package安装路径放入到当前用户的home目录下,避免使用sudo,一样可以安装global的npm package:

#brew install node #Mac os X

mkdir "${HOME}/.npm-packages"

echo NPM_PACKAGES="${HOME}/.npm-packages" >> ${HOME}/.bashrc

echo prefix=${HOME}/.npm-packages >> ${HOME}/.npmrc

echo NODE_PATH=\"\$NPM_PACKAGES/lib/node_modules:\$NODE_PATH\" >> ${HOME}/.bashrc

echo PATH=\"\$NPM_PACKAGES/bin:\$PATH\" >> ${HOME}/.bashrc

#将:source ~/.bashrc 写入到~/.bash_profile文件末尾, 然后,如果现在就想用你还需要运行以下命令。
source ~/.bashrc

参考链接:

1.

npm install -g 全局安装总是出现permission权限问题的解决方案的更多相关文章

  1. nodejs npm install -g 全局安装

    1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 比如说, ...

  2. nodejs npm install -g 全局安装和非全局安装的区别

    1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 比如说, ...

  3. npm install, npm install -g, npm install --save, npm install --save-dev之间的区别

    1.npm install X 安装X到项目的node_modules文件夹 会修改package.json,在dependencies中写入依赖.(关于这一点,网上的大部分文章都是说,不会修改pac ...

  4. npm全局安装和本地安装和本地开发安装(npm install --g/--save/--save-dev)

    详细说明参考:http://www.cnblogs.com/PeunZhang/p/5629329.html 我个人理解: 1.全局安装(npm install -g)是为了用命令行,比如在windo ...

  5. appium----【已解决】【Mac】安装sudo npm install -g appium-doctor总是提示“Error: EACCES: permission denied........”

    [mac电脑] 问题: (1)npm install -g appium-doctor    (2)sudo npm install -g appium-doctor (3)cnpm install ...

  6. Mac下通过命令行安装npm install -g 报错,如何解决?

    1, 使用 sudo npm install -g n2, 或者 sudo chmod -R 777 /usr/local/lib,然后 npm install -g

  7. npm install -g @angular/cli@latest 失败

    一开始的ERROR信息是 error "@angular/compiler-cli" package was not properly installed 尝试方案二时又出现了以下 ...

  8. npm install、npm install --save与npm install --save-dev、npm install -g区别

    npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...

  9. [坑况]——windows升级node最新版本报错【npm install -g n】

    我本来是下载一个vue-cli的,然后技术日新月异,告知我要先把我的node升级到8以上(目前是v6.1.13) 升级就升级,升级就报错 尝试第一种方法,网上最多的一种方法,估计也是成功最多的一种吧( ...

随机推荐

  1. JDBC学习笔记(1)

    说明:本系列学习笔记主要是学习传智播客的李勇老师的教学课程和一本英文电子书<JDBC Recipes A Problem-Solution Approach>所作的笔记. 1,什么是JDB ...

  2. MySQL调优参数

    key_buffer_size 含义:用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写). 影响:对于MyISAM表的影响不是很大,MyISAM会使用系统的缓存来存储数据,所以大量 ...

  3. linux 下部署nodejs(两种方式)

    本次博客的编写时用的系统环境,刚装好的Centos 6.4  64位虚拟机. 另外关于linux 其他系统的安装 可以参考https://github.com/joyent/node/wiki/Ins ...

  4. iOS 关于nil和Nil及null与<null>的区别

    问题是这样的. NSDictionary *sample = [NSJSONSerialization JSONObjectWithData:received options:NSJSONReadin ...

  5. 安装xubuntu时遇到的一些问题

    1  下载地址 http://www.linuxdown.net/ 2  选择虚拟机 VirtualBox 3  安装步骤 http://www.cnblogs.com/zhcncn/p/398730 ...

  6. elixir 高可用系列(三) GenEvent

    概述 GenEvent 是事件处理的通用部分的抽象. 通过 GenEvent ,我们给已有的服务 动态 的添加 事件处理. GenEevent 和 GenServer 的区别 之前已经介绍了 GenS ...

  7. Dos脚本判断文件大小

    @echo off & setlocal EnableDelayedExpansion del 1.txt /q del 2.txt /q for /f %%i in (*) do (echo ...

  8. Mac下修改环境变量

    Mac下修改环境变量 如果使用默认Bash, 首先修改 ~/.bash_profile 文件,添加文件路径,比如: export PATH=~/bin:/usr/local/bin/node:~/Do ...

  9. mac下载百度云盘大文件及断点续传的方法

    问题 作为资源共享平台, 百度云做的还是很出色的, "xxx site:pan.baidu.com"就可以找到很丰富的资源. 然而, 下载百度云上的文件就略蛋疼了. 早在12年的时 ...

  10. 负margin在布局中的运用(*****************************************************************)

    一.左右栏宽度固定,中间栏宽度自适应 <!DOCTYPE html> <html> <head lang="en"> <meta char ...