发电机设计为在全球范围内安装。否则,您总是必须在每个项目中安装您将要使用的生成器,这是不必要的痛苦。此外,您不会看到yo
列出所有可用生成器的可爱菜单(当然,除非您将它们全部安装在本地):
为全局安装设置 npm
那么,我们如何让 npm 全局安装包呢?正如您所说的那样,您永远不应该yo
使用 sudo 运行。这个问题有很多不同的解决方案,你可以花几个小时虔诚地讨论它们的利弊。
我个人不喜欢将我的用户包安装到全局 /usr/
文件夹中。/usr/
适用于计算机上所有用户共享的软件。即使它只是使用机器,仍然有充分的理由尊重 Unix 文件系统层次结构的设计方式。例如,如果您决定在某一时刻擦除整个节点安装。
我在不中断的情况npm
下启用全局安装包的首选方法是设置本地节点前缀。这就像跑步一样简单$HOME
echo 'prefix = ~/.node' >> ~/.npmrc
在您的本地外壳中。之后,您要调整 $PATH,通过调整您最喜欢的 shell 配置来指向全局节点可执行文件的新安装目标。例如通过添加
export PATH="$PATH:$HOME/.node/bin"
到你的~/.bashrc
. 之后,您可以在npm install -g generator-angular
不使用 sudo 的情况下愉快地运行,而不会遇到权限冲突,如果某些东西完全损坏并且您想从头开始,您需要做的就是删除您的~/.node
目录。