使用WSL2与Windows上安装的应用程序交互 [英] Interact with apps installed on Windows using WSL2

本文介绍了使用WSL2与Windows上安装的应用程序交互的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经启动并运行了WSL2。在Windows级别,我安装了node.js,现在我想从Ubuntu级别运行npm install snowflake-sdk。终端返回-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory,而PowerShell运行正常。

问题是:是否可以使用WSL2的终端与Windows级别安装的应用程序交互?

WSL2

&>是否可以使用推荐答案的终端与Windows级别安装的应用程序交互?

可以,您可以从WSL运行notepad.exe,它将在Windows中打开记事本。

更多文档:https://docs.microsoft.com/en-us/windows/wsl/interop#run-windows-tools-from-linux

解决NPM问题

如果我尝试在WSL中运行npm -v,则收到找不到文件的错误:

PS C:Usersharvey> bash
harvey@harvey-w10x64-defiance:/mnt/c/Users/harvey$ npm -v
internal/modules/cjs/loader.js:968
  throw err;
  ^

Error: Cannot find module 'C:mntcProgram Files
odejs
ode_modules
pmin
pm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

文件的路径大部分正确,但已追加C:mnt

我通过向Node提供npm-cli.js文件的路径来运行npm,从而设法绕过了这个问题。

您可以运行:

node.exe cProgram Files
odejs
ode_modules
pmin
pm-cli.js -v

但这会遇到相同的错误。

然后我尝试了一下:

PS C:Usersharvey> bash
harvey@harvey-w10x64-defiance:/mnt/c/Users/harvey$ cd "/mnt/c/Program Files/nodejs/node_modules/npm/bin"
harvey@harvey-w10x64-defiance:/mnt/c/Program Files/nodejs/node_modules/npm/bin$ ../../../node.exe npm-cli.js -v
6.14.6

从这里我终于能够从NPM CLI获得一些输出。

我可以从此处安装该程序包,但可能会将其安装在错误的位置。

我似乎无法从文件系统中的任何位置获得npm工作。这可能是NPM的一个限制。如果您尝试更改您的路径环境变量,是否可以使其正常工作?

这篇关于使用WSL2与Windows上安装的应用程序交互的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆