【问题标题】:node user directory leading to command not found导致找不到命令的节点用户目录
【发布时间】:2023-03-08 04:30:01
【问题描述】:

我很方便地运行了这个 script 以停止在 npm -g 命令上使用 sudo,现在我的 node_modules 位于: /Users/myusername/.npm-packages/lib/node_modules

当尝试运行命令时,即yo bower 我得到-bash: bower: command not found

我需要将此目录链接到 usr/bin 吗?

在尝试解决这个问题时,我运行了很多命令并创建了符号链接,我觉得我的系统真的很乱,我真的看不出发生了什么?帮助确保我的系统是干净的将非常有帮助。

【问题讨论】:

    标签: node.js command-line terminal npm


    【解决方案1】:

    通常,确保您不需要管理员权限即可运行 npm 命令是一个好主意。您遇到的问题是 npm 现在安装其命令的目录 (/Users/myusername/.npm-packges/bin) 不在您的 PATH 中。您的 PATH 是您的 shell 搜索您键入的命令的目录列表。

    您可以通过将以下行添加到您的主目录中的 .bashrc 文件中来将目录添加到您的路径中(如果它不存在,则创建它)。

    export PATH="${PATH}:/Users/myusername/.npm-packages/bin"

    打开一个新终端,bower 应该会再次工作。

    作为附加提示,我相信您在 OS X 上运行?当使用Homebrew 安装 Node.js 时,它会以正确的方式自动安装(不需要 sudo 来全局安装包,它们就可以工作)。下次安装 Node.js(或其他)时,Homebrew 可能值得一试。

    【讨论】:

    • 如何撤消脚本所做的操作,以便重新开始?
    • 为了您自己的参考可以得到显示您当前安装的全局包列表(npm list -g --depth=0),删除脚本创建的文件夹(rm -r ~/.npm-packages),重置npm安装全局包的位置( npm config delete prefix) 然后重新安装你的全局包 (npm install -g ...)。
    猜你喜欢
    • 2017-04-12
    • 2016-11-21
    • 2018-11-15
    • 2012-10-08
    • 2015-08-08
    • 2017-11-28
    • 2012-11-15
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多