【问题标题】:unable to run grunt after installing using npm使用 npm 安装后无法运行 grunt
【发布时间】:2014-03-08 10:13:08
【问题描述】:

我正在尝试安装和使用 grunt。

我使用 npm install grunt -g 安装

它似乎安装 -

grunt@0.4.3 /Users/me/.node/lib/node_modules/grunt

当我在终端中打开一个新标签并运行 grunt 时,我得到了

 -bash: grunt: command not found

我的路径是这样的

$ echo $PATH
            /Users/me/.rbenv/shims:/Users/me/.rbenv/shims:/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin 

有什么建议吗?这是要了我的命。


我也安装了 grunt-cli,还是不行 -

 npm install grunt-cli -g

/Users/me/.node/bin/grunt -> /Users/me/.node/lib/node_modules/grunt-cli/bin/grunt

我打开一个新标签

-bash: grunt: command not found

我使用节点安装程序安装了节点。我在 OSX 上。

我刚刚将 /.node/bin 添加到我的路径中,见下文 -

 echo $PATH
 /Users/me/.rbenv/shims:/Users/me/.rbenv/shims:/.node/bin:/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/.node/bin:/opt/X11/bin:/usr/local/git/bin

它仍然无法正常工作。

【问题讨论】:

  • 你必须安装grunt-cli才能从命令行运行:)
  • 完成了,还是不行。

标签: javascript node.js gruntjs npm


【解决方案1】:

您的路径不包含 ~/.node/bin 显然您的全局安装的 npm 二进制文件保存在其中。

如果您希望获取所述二进制文件,则需要解决此问题。

无论哪种方式,这都表明您错过了 node / npm 安装中的一个步骤。你到底是怎么安装node的?

我不知道其他人在做什么,但我正在使用来自 homebrew 的节点,它应该会为你处理好这个问题(我从你列出的路径中假设你在 OSX 上)。

【讨论】:

  • 感谢您查看此内容,但仍然无法正常工作。在我的答案中添加了一些信息。
  • 您添加到路径的内容是错误。 /.node/bin 与 ~/.node/bin 不同 - 为了消除混淆:将 /Users/me/.node/bin 添加到您的路径中。
  • 完美运行。非常感谢。你不知道这让我多么沮丧。我欠你一杯。
  • 很高兴它有帮助!我要喝了 :-) (@MangledDeutz)
  • 我把它留在这里作为任何可能需要它的人的参考:stackoverflow.com/questions/18409707/…
【解决方案2】:

尝试全局安装 grunt

   $ sudo npm install grunt -G

【讨论】:

    【解决方案3】:

    您可能在全局安装了Grunt 0.4.3,但没有在本地安装任何东西。

    1. 运行 $ grunt --version 以查找您使用的版本。此时您只会知道您的系统中确实安装了Grunt。但要在目录级别(也称为“项目级别”)运行 Grunt,您需要具体说明 - 因为并非每个项目都可能需要您已全局安装的 Grunt 版本。

    2. 在您要放置项目的目录中创建一个package.json 文件。我们称它为项目的根文件夹。

      {
          "name" : "MyProject",
          "version" : "0.1.0",
          "author" : "My name",
          "private" : true,
      
          "devDependencies" : {
              "grunt" : "~0.4.2"
          }
      }
      
    3. 导航到项目的根文件夹并运行$ npm install。指定的Grunt 版本将作为项目的依赖项安装。

    4. 微笑,Grunt 启动并运行! :)

    【讨论】:

    • 当然,增加一些依赖项并设置Gruntfile.js 以查看发生的情况会有所帮助,但以上内容足以开始。
    • 当我尝试运行 grunt --version 我得到 -bash: grunt: command not found
    • 对。您是否尝试使用sudo 全局安装Grunt?您是否尝试跳到第 2 步及进一步?
    • 这个确实不错,加上1.root登录就更好了。 2. ln -s /usr/bin/nodejs /usr/bin/node 对于出现“/usr/bin/env: node: No such file or directory”等错误的人
    【解决方案4】:

    有时在 npm 配置文件中引用了另一个版本或只是错误的路径,而不是已安装的版本。

    这可能会导致 node/npm 放错全局模块。

    检查和修复:

    1. 在命令行输入:npm config list
      你应该得到一个配置值列表,其中之一是prefix
    2. 确保prefix 中的路径与实际安装的node.exe 路径相同(仅不含node.exe)。
      (这条路径在下面列出为node bin location
    3. 如果不是,请更改它:

      • 在配置文件中(在您的用户文件夹中,名为 .npmrc)
      • 或者,通过 cmd 行:npm config set prefix "C:\Program Files\nodejs"(根据需要更改路径)
    4. 重新安装你尝试安装的模块/包,别忘了-g for global。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-18
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      相关资源
      最近更新 更多