Node.js 带nodejs和angular的yeoman许可问题
我正试图与yeoman一起启动angular web应用程序,但我在尝试安装新生成器时遇到了权限问题。我可以绕过sudo安装generator,但运行时会出现权限错误Node.js 带nodejs和angular的yeoman许可问题,node.js,angularjs,ubuntu,Node.js,Angularjs,Ubuntu,我正试图与yeoman一起启动angular web应用程序,但我在尝试安装新生成器时遇到了权限问题。我可以绕过sudo安装generator,但运行时会出现权限错误 **yo** angular 我推断是因为它试图访问当前用户没有权限访问的全局npm模块,并且我无法使用sudo运行Yo。我做过很多谷歌搜索,它们都涉及到对.bashrc中的NODE_路径的某种类型的攻击,或者将节点模块移动到主目录。有人找到了解决这个问题的简单方法吗 下面是我在截图中遇到的问题: yo安装良好 当我试图在没
**yo** angular
我推断是因为它试图访问当前用户没有权限访问的全局npm模块,并且我无法使用sudo运行Yo。我做过很多谷歌搜索,它们都涉及到对.bashrc中的NODE_路径的某种类型的攻击,或者将节点模块移动到主目录。有人找到了解决这个问题的简单方法吗
下面是我在截图中遇到的问题:
yo安装良好
当我试图在没有sudo抱怨的情况下安装发电机时。。
使用sudo通行证安装。
最后,当我试着跑的时候,它断了。。我相信这是因为yo是以用户身份运行的,而且我已经用sudo权限安装了所有东西。我怎样才能度过这一关
我想,它之所以会中断,是因为整个目录树都是作为超级用户创建的 你提到的关于使用
节点路径和主目录的黑客不是黑客。它们的存在正是出于同样的原因。告诉节点在何处查找包。而.bashrc
是您应该更改此类shell变量的地方
假设您将~/.node\u模块
添加到node\u路径
,则可以在其中安装所有“全局”模块。您还可以更改/usr/local
上的权限。但在linux世界上,这是不推荐的
我还强烈建议不要在npm中使用全局安装。使用-g和npm链接
在开发时很方便,但您不应该指望它们。当您忘记在自己的package.json
上添加包时,可能会在代码中引入一些微妙的错误,但它是全局安装的
您可以在/node\u modules/.bin/
目录中找到所有可执行的包,而不是全局安装
但是假设您不想一直键入/node\u modules/.bin/yo
,您可以在.bashrc
上创建别名
alias yo="$PWD/node_modules/.bin/yo"
它会像预期的那样工作,如果没有安装yo软件包,就会出现错误