【问题标题】:Ember.js fails to install globallyEmber.js 无法全局安装
【发布时间】:2016-01-19 22:49:01
【问题描述】:

我运行了安装 Ember.js 的命令:

npm install -g ember-cli

然后当我运行时:

Ember -v

我收到错误:“术语 ember 未被识别为 cmdlet、函数、脚本文件或可运行程序的名称......”

我添加了系统环境变量$NODE_PATH = %AppData%\npm\node_modules

我在 $NODE_PATH 中看到了 ember-cli 文件夹

这是一台新镜像的机器,所以这可能是我的 npm 设置/配置的问题。如何全局安装 ember?

【问题讨论】:

  • 您是否打算输入Ember(大写)而不是ember(小写)?
  • @StefanPenner capital Ember 为我工作
  • (appdata)\npm 在你的 PATH 中吗?
  • @KellySelden 查看我的路径,唯一带有关键字 npm 的内容是 C:\Users\jfox\AppData\Roaming\npm;。我的路上应该还有其他东西吗?

标签: powershell ember.js windows-7 npm


【解决方案1】:

我将%AppData%\npm(使用完整路径,在我的例子中为C:\Users\bmackey\AppData\Roaming\npm)添加到系统路径环境变量中。我必须从我的路径中删除 C:\Program Files\Microsoft DNX\Dnvm\ 以保持在 260 个字符的限制之下;希望我不需要这个。我不知道如何绕过 260 个字符的限制。

现在ember -v 有效。

【讨论】:

    【解决方案2】:

    需要将ember.cmd文件的路径添加到powershell环境变量中,注意这与标准的PATH环境变量不同。

    对于那些不知道的人,您可以通过运行命令ember 来运行 ember(节点模块)的原因是因为当您安装 ember 时,它会在您的 AppData 文件夹中创建一个 ember.cmd 文件:

    这个文件通常看起来像这样,只是引导节点并运行 ember js 文件:

    @IF EXIST "%~dp0\node.exe" (
      "%~dp0\node.exe"  "%~dp0\node_modules\ember-cli\bin\ember" %*
    ) ELSE (
      @SETLOCAL
      @SET PATHEXT=%PATHEXT:;.JS;=;%
      node  "%~dp0\node_modules\ember-cli\bin\ember" %*
    )
    

    因此,当您从命令窗口或 powershell 运行 ember 时,它只会在其 PATH 变量中查找 cmd 文件。如果它没有指向此 cmd 文件位置的条目,它将无法运行它。

    要在 powershell 中解决此问题,只需运行以下命令:

    [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Users\<user>\AppData\npm", [EnvironmentVariableTarget]::Machine)
    

    大部分内容来自the answer here

    确保 C:\Users\&lt;user&gt;\AppData\npm 是 NPM 部署您的 ember.cmd 文件的位置。我已经看到这也在C:\Users\&lt;user&gt;\AppData\Roaming\npm 中部署,所以它可能会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 2015-03-25
      • 2019-02-01
      相关资源
      最近更新 更多