我运行命令安装Ember.js:
npm install -g ember-cli
然后当我跑:
Ember -v
我收到错误:“术语ember未被识别为cmdlet,函数,脚本文件或可操作程序的名称......”
我添加了系统环境变量$NODE_PATH = %AppData%\npm\node_modules
我在$ NODE_PATH
中看到了ember-cli文件夹这是一台新成像的机器,所以这可能是我的npm设置/配置的问题。如何在全球范围内安装ember?
答案 0 :(得分:0)
我将%AppData%\npm
(使用完整路径,在我的情况下为C:\Users\bmackey\AppData\Roaming\npm
)添加到系统Path环境变量中。我必须从我的路径中删除C:\Program Files\Microsoft DNX\Dnvm\
才能保持在260个字符的限制之内;希望我不会需要这个。我不知道260字符限制的方法。
现在ember -v
有效。
答案 1 :(得分:0)
您需要将ember.cmd文件的路径添加到powershell环境变量中,请注意这与标准PATH环境变量不同。
对于那些不知道的人,只需运行命令ember
就可以运行ember(节点模块)的原因是因为当你安装ember时它会在你的AppData文件夹中创建一个ember.cmd文件:
这个文件通常看起来像这样,只是bootstraps节点并运行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\<user>\AppData\npm
是NPM部署了您的ember.cmd文件的地方。我已经看到这也部署在C:\Users\<user>\AppData\Roaming\npm
中,所以它可以变化。