angularjs – npm/yeoman安装发电机角度没有sudo

我试图安装generator-angularjs使用Yo( Yoeman),没有sudo:
npm install -g generator-angular

我得到:

Error: EACCES,mkdir '/usr/lib/node_modules/generator-angular'

当我输入sudo yo,哟告诉我,我不应该使用sudo(这是完全可以理解的)。

我有一个〜/ node_modules目录 – 为什么不安装它的软件包?

发电机设计为全球安装。否则,你总是要安装你将在每个项目中使用的生成器,这是不必要的痛苦。此外,你不会看到可爱的哟菜单,其中列出了所有可用的发电机(除非当然,你在本地安装它们):

设置全局安装的npm

那么,我们如何获得npm在全球安装包?正如你正确地说,你永远不应该用sudo运行yo。有lots of different solutions这个问题,你可以花几个小时讨论他们的利弊。

我个人不喜欢将我的用户包安装到全局/ usr /文件夹中。 / usr /是用于在计算机上的所有用户共享的软件。即使它只使用机器,仍然有很好的理由尊重Unix文件系统层次结构的设计方式。例如,如果您决定在某一点擦除整个节点安装。

我的首选方法是启用npm在全球范围内安装软件包,而不打开$ HOME是to set a local node prefix.这和运行一样简单

echo 'prefix = ~/.node' >> ~/.npmrc

在你的本地shell。之后,您想要调整您的$ PATH,通过调整您喜欢的shell的配置指向全局节点可执行文件的新安装目的地。例如。通过增加

export PATH="$PATH:$HOME/.node/bin"

到你的〜/ .bashrc。之后,你可以很高兴地运行npm install -g generator-angular没有sudo,而不会遇到权限冲突,如果某些东西完全崩溃,你想从头开始,你只需要删除〜/ .node目录。

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...