使用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屋!
查看全文