node.js - 将 WSL2 命令添加到 Windows Powershell
问题描述
如果有人问过这个问题,请原谅我,我一直在谷歌搜索并搜索了几个小时。
长话短说,我非常喜欢 WSL2 和 Ubuntu 进行开发。我遇到的问题是我有时需要使用 Windows 版本的应用程序(例如用于区块链开发的 Ganache、npm/node、Android Emulator ADK),但是我的包管理是在 WSL2 上完成的。
这意味着我已经安装了 NodeJS,并且可以使用 访问它,但是如果它们具有 WSL2 等效项,wsl npm
我的 powershell 显然不会自动添加到命令前面,是否有解决方案或者解决方案只是安装 NodeJS 和wsl
在Windows上这样吗?
谢谢!
- 扎克
解决方案
您可以使用函数将 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
.
推荐阅读
- java - 为什么休眠 PolymorphismType.EXPLICIT 注释在 JPA findAll() 搜索中返回父级的子级?
- javascript - 在 Webpack/module 环境中,Materialize CSS 不适用于 jQuery
- bash - 运行 pylint 时 Azure DevOps 管道失败
- c++ - 如何让循环持续进行并能够使用 cin?
- java - 在评估整数规则时确定互斥
- aws-sdk - 仅导入所需客户端时如何使用 CognitoIdentityCredentials?
- django - Django Rest FrameWork:在发送响应之前组合来自不同模型的数据
- c++ - 是否可以对 C++ 中的所有内容使用一个构造函数?
- python - 从 Python 脚本中的 REST API 获取错误的资源名称
- spring-boot - JUNIT5 @InjectMocks 抛出 NullPointerException