安装Chocolatey 0.9.8.28后,我遇到了这个问题。我尝试了此处列出的大多数解决方案,但无法在Powershell命令行中识别“ bower -v”。这似乎有点奇怪,因为Chocolatey Install是关于Powershell的。最终,我能够通过设置路径来成功,以便Powershell可以找到更新的PATH变量设置,但是我需要帮助以了解为什么以及如何执行此操作,下面提供了这些信息:
最初使用Powershell失败之后,我能够转到标准的DOS命令行(而不是通过在Powershell中使用cmd / c)并成功执行上述路径设置的所有变体,并成功地看到了Bower和Bower命令被识别通过DOS命令行。cmd窗口显示了完整的更新路径(C:\ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools)-请注意,尊敬的KimchiMan可能会从列表中更改版本号。
通过关闭和打开新的DOS命令行窗口,该PATH一直存在,但是在任何Powershell窗口中都从未发现过该PATH。
然后,我发现了以下相关讨论:设置Powershell路径设置。
这表明Powershell在启动时会识别HKLM路径设置版本。并且可以在会话(非持久)或注册表(持久)中设置路径。以下直接来自该讨论。
这些命令可以为Powershell SESSION临时设置PATH:
$env:Path = 'New path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')
这些命令可以为所有新的Powershell会话永久设置PATH:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')
但是我之前曾以编程方式设置注册表设置而感到困惑,而且我认为一两行PS脚本根本无法完成任务。所以我什至没有尝试这个选项。
相反,我转到“控制面板/系统”控制台,并通过“环境变量”对话框更改了路径。我注意到在Windows会话期间,我在DOS命令行中使用PATH设置路径来更改路径所做的所有工作都已经完成,但是即使Dos会话运行时,新的路径条目也没有持久化到环境变量/注册表中。管理员。
在通过“控制面板”进行此更改之后,将永久设置Chococlatey的tools文件夹中的Bower的更新路径(并且可能还会安装所有后续工具),并且在DOS命令行和Powershell命令行中都可以使用bower。
希望这可以帮助...