首页 > 解决方案 > 将 WSL2 命令添加到 Windows Powershell

问题描述

如果有人问过这个问题,请原谅我,我一直在谷歌搜索并搜索了几个小时。

长话短说,我非常喜欢 WSL2 和 Ubuntu 进行开发。我遇到的问题是我有时需要使用 Windows 版本的应用程序(例如用于区块链开发的 Ganache、npm/node、Android Emulator ADK),但是我的包管理是在 WSL2 上完成的。

这意味着我已经安装了 NodeJS,并且可以使用 访问它,但是如果它们具有 WSL2 等效项,wsl npm我的 powershell 显然不会自动添加到命令前面,是否有解决方案或者解决方案只是安装 NodeJS 和wsl在Windows上这样吗?

谢谢!

标签: node.jswindowsbashpowershellwsl-2

解决方案


您可以使用函数将 WSL2 命令添加到 Windows Powershell。就像是:

Function npm { wsl.exe npm $args }

然而,对于程序要发现的东西,它必须是一个真正的命令(参见PATHEXT什么使某些文件成为命令)。假设你有%USERPROFILE\.bin你的PATH,你可以放一个脚本npm.cmd在那里调用,只包含:

@echo off
wsl.exe npm $*

(实际的 Windows 安装npm也使npm.cmd命令能够工作;在 mac 和 Linux 上,它将是一个名为npm.


推荐阅读