【问题标题】:Bower: "command not found" after installationBower:安装后“找不到命令”
【发布时间】:2013-03-28 14:03:15
【问题描述】:

当我执行npm install bower -g时,我似乎得到了以下信息

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower
bower@0.8.6 /usr/local/share/npm/lib/node_modules/bower

不幸的是,执行任何 bower 命令都会返回 -bash: bower: command not found

which npm 返回/usr/local/bin/npm,运行which node 返回/usr/local/bin/node

【问题讨论】:

标签: node.js bash npm homebrew bower


【解决方案1】:

如果以上所有方法都不起作用,或者您似乎不理解问题的答案。

我建议您在系统命令提示符下运行安装命令,而不是 git-bash,尤其是在 Windows 8 或 7 上时。

【讨论】:

    【解决方案2】:

    在centos 6.8中

    vi ~/.zshrc 
    

    在下面添加三行

    export PATH=$HOME/bin:/usr/local/bin:$PATH
    export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH
    export PATH=/usr/local/share/npm/bin:$PATH
    

    然后

    exec /bin/zsh 
    

    exec /usr/bin/zsh
    

    好好工作

    【讨论】:

      【解决方案3】:

      截至 2016 年 9 月,来自 nodejs.org 的 .pkg 安装程序将已安装的软件包安排在 $HOME/.npm-packages/lib/node-modules 下,符号链接位于 ~/.npm-packages/bin

      $ bower install
      -bash: bower: command not found
      $ which bower
      $ export PATH=$PATH:~/.npm-packages/bin
      $ which bower
      /Users/dmoles/.npm-packages/bin/bower
      

      【讨论】:

      • 太棒了!这个解决方案对我有用。我正在使用 macOSX
      【解决方案4】:

      如果您有“非标准”安装,则需要使用以下命令查找节点 bin 位置:

      npm config list
      

      然后将节点 bin 位置添加到您的 ~/.bash_profile

      export PATH=<yourNodeBinLocation>:$PATH

      记得打开一个新的终端测试,或者source ~/.bash_profile

      【讨论】:

      • 这是迄今为止最好的答案,因为它不依赖于特定平台
      • 这应该是公认的答案。谢谢分享。
      【解决方案5】:

      在 Mac OS X 中,将下一行添加到您的 ~/.bash_profile 中

      export PATH="$HOME/.node/lib/node_modules/bower/bin:$PATH"

      然后重启终端或者输入:

      source ~/.bash_profile

      【讨论】:

      • 这是最好的例子,应该用于安装了自制节点的任何人
      【解决方案6】:

      我添加了这个

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

      在我的 .bash_profile 文件(位于用户文件夹中)的末尾(和新行)。保存。关闭并重新打开终端

      【讨论】:

        【解决方案7】:

        对于如官方页面所示在 mac 中安装时遇到问题的用户,似乎 El Capitan 提供了以这种方式安装软件包的权限问题:

        npm install bower -g

        我发现避免权限错误的解决方案是使用sudo(超级用户做)为节点提供访问权限以下载包,如下所示:

        sudo npm install bower -g

        希望这可以帮助遇到同样问题的用户。 :)

        【讨论】:

          【解决方案8】:

          如果您使用 Homebrew 以外的其他东西(是的,我们中的一些人实际上做得很奇怪)——比如 MacPorts,您的 $PATH 可能会很时髦。二进制文件可能位于其他区域: /opt/local/bin/grunt 可能还有/opt/local/bin/npm

          此外,如果您使用 MacPorts 安装 npm,然后安装 bower,则二进制文件将不会位于您期望的位置。它实际上最终在您的主目录中 .npm/lib/node_modules/bower/bin

          您的$PATH 应在 ~/.profile (Mac OS X) 中调整以添加:$HOME/.npm/lib/node_modules/bower/bin

          获取您的 Bash 配置文件或打开一个新的终端窗口,它应该可以工作。

          【讨论】:

            【解决方案9】:

            我的问题是在此处找到的 Homebrew/node/npm 错误 - https://github.com/npm/npm/issues/3794

            如果您已经使用 Homebrew 安装了节点,请尝试:

            npm update -gf
            

            或者,如果您想使用 Homebrew 安装节点并让 npm 工作,请使用:

            brew install node --without-npm
            curl -L https://npmjs.org/install.sh | sh
            

            【讨论】:

              【解决方案10】:

              我知道这个问题很久以前就已经被回答和接受了。我刚刚遇到了 karmagrunt 完全相同的问题:您安装了库,但是由于 Homebrew,全局安装的软件包不会暴露 'grunt'、'karma'、'bower' 等等。

              尽管 Sindre Sorhus 的方法有效,但我发现卸载 homebrew/nodejs 并重新安装它太费力了。

              我用了

              npm install -g grunt-bower-cli
              

              其他的也一样:

              npm install -g grunt-cli
              npm install -g karma-cli
              

              Grunt 的文档解释了为什么需要这一步:

              这会将 grunt 命令放在你的系统路径中,允许它 从任何目录运行。

              请注意,安装 grunt-cli 不会安装 Grunt 任务运行器! Grunt CLI 的工作很简单:运行具有 安装在 Gruntfile 旁边。这允许多个版本的 Grunt 要同时安装在同一台机器上。

              在我看来,这比我必须卸载 nodejs 更简单,更省时

              【讨论】:

              • 我认为这是最好的方法。坚持使用 Homebrew,不必随着时间的推移跟踪所有类型的安装程序......
              【解决方案11】:

              我假设您通过 Homebrew 安装了 Node.js,这很烦人地将安装的 npm 二进制文件放在通常不在用户路径中的位置。您所要做的就是将/usr/local/share/npm/bin 添加到您的$PATH 中。您可以通过将 export PATH=/usr/local/share/npm/bin:$PATH 添加到您的 .bashrc/.bash_profile/.zshrc 文件中来做到这一点。

              虽然我宁愿卸载 Homebrew 安装的 Node.js 并使用来自 nodejs.org 的安装程序安装它,但没有这个问题。

              这个问题不是 Bower 特有的,并且在任何全局安装的 Node.js 二进制文件中都会很明显,例如。 grunt、uglify、jshint 等。

              【讨论】:

              • 哈哈,我的英雄!谢谢。是的,我是通过自制软件安装的。一切都是新机器上的全新安装,而自制软件似乎是最容易使用包和依赖项的。我还在我的~ 中使用Paul 的点文件和.extra 文件来控制路径。在我的.extra 文件中,现在是上面的行,上面有您概述的export PATH 行。 # PATH additionsPATH=$PATH:~/.rvm/bin # rubyexport PATH=/usr/local/bin:$PATH # local pathexport PATH=/usr/local/share/npm/bin:$PATH # Boom! Works now \m/
              • 我只是想补充一点,我最终从 Homebrew 安装中卸载了 Node.js,并通过 Node.js 网站从安装程序中安装了 Node.js。这让我不必添加前面提到的 PATH 内容,从而使安装更加干净。
              • 我只是想在 Windows 7 上添加它,我必须将 C:\Users\MyUsername\AppData\Roaming\npm 添加到我的路径中。
              • 我通过nodejs.org.pkg 安装程序安装了Node,它也没有将npm 二进制文件放在我的路径中。据我所知,它将它们放在~/.npm-packages/bin/ 中,但从未提及您需要将其添加到您的路径中。
              猜你喜欢
              • 2015-05-07
              • 1970-01-01
              • 2016-11-04
              • 2022-01-12
              • 2018-06-17
              • 2014-09-25
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多