我遇到了一个奇怪的情况,我的用户和系统的PATH变量与Powershell的PATH不同。
我的用户和系统的PATH变量与powershell的PATH不同。
当我执行.NET Framework 2.0时,我的用户和系统的PATH变量与Powershell中的PATH不同。
PS C:\$env:path
C:\Windows\System32\WindowsPowerShell\v1.0\;c:\oldpath
然而这是不正确的,它看起来像是卡在了我系统的某个旧的PATH变量上,所以我在系统上做的所有udpates都没有改变这个变量(每次改变后我都会重启以测试)。
为什么会出现这种情况?难道我必须为Powerhell设置一个PATH变量吗?
解决方案:
变化可能会 “延迟”,所以可以尝试一个或多个这样的解决方案。
- 登出和打开 再次。
- 任务管理器> 重新启动 “Windows资源管理器” (explorer.exe)
- 重启你的启动程序 (launchy、SlickRun等)
- 重新启动
解释:Powershell将继承启动它的进程的环境(这取决于你如何启动它)。 Powershell将继承启动它的进程的环境(这取决于你如何启动它)。这通常是交互式shell(explorer.exe)。当你从计算机属性中修改环境时,你就会修改explorer.exe的环境,所以如果你从explorer.exe启动powershell,(例如从开始菜单)你应该看到新的环境。
但是,如果你从其他地方启动它(比如你已经打开的cmd.exe shell),那么你就看不到了,因为那个进程是在旧环境下启动的。
换句话说:要小心你是如何启动事情的。