gpt4 book ai didi

node.js - nodejs和angular的yeoman权限问题

转载 作者:行者123 更新时间:2023-12-04 19:19:59 26 4
gpt4 key购买 nike

我正在尝试使用 yeoman 启动 Angular Web 应用程序,但在尝试安装新生成器时出现权限问题。我可以绕过并使用 sudo 安装生成器,但是运行时出现权限错误

**yo** angular

我推断它是因为它试图访问当前用户无权访问的全局 npm 模块,并且我无法使用 sudo 运行 Yo。我已经做了很多谷歌搜索,它们都涉及某种类型的 .bashrc 中的 NODE_PATH 或将 Node 模块移动到主目录的黑客攻击。有没有人找到一个简单的解决方案来解决这个问题。

以下是我在截图中的问题:

enter image description here

安装良好

enter image description here

当我尝试在没有 sudo 提示的情况下安装生成器时..
enter image description here

使用 sudo 通行证安装。
enter image description here

最后当我尝试运行 Angular 它坏了..我相信它是因为 以用户身份运行,我已经用 sudo 权限安装了所有东西。我怎样才能克服这个?

enter image description here

最佳答案

我猜它中断的原因是因为整个目录树是作为 super 用户创建的。

你提到的关于使用 NODE_PATH 的技巧和主目录不是黑客。它们的存在也是出于同样的原因。告诉 Node 在哪里寻找包。和.bashrc是您应该更改此类 shell 变量的地方。

假设您添加了 ~/.node_modules给你NODE_PATH ,然后您可以在其中安装所有“全局”。您还可以更改 /usr/local 的权限.但是在不推荐的Linux世界上。

我也强烈建议不要将全局安装与 npm 一起使用。使用 -g 和 npm link开发时很方便,但你不应该指望它们。当您忘记在自己身上添加包时,您可能会在代码中引入细微的错误 package.json但它是全局安装的。

您可以在 ./node_modules/.bin/ 上找到所有可执行包,而不是全局安装它。目录。

但是假设您不想输入 ./node_modules/.bin/yo一直以来,您都可以在 .bashrc 上创建别名。 .

alias yo="$PWD/node_modules/.bin/yo"

它会像预期的那样工作,如果没有安装 yo 包,你会得到一个错误。

关于node.js - nodejs和angular的yeoman权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23716504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com