我在 Windows x64 上启动了一个全新的项目。当我尝试执行anchor build
此操作时,它不起作用,并得到以下输出:
无法获取包元数据:“cargo metadata”因错误退出:错误:无法为工作区成员“\?\C:\Users\thugu\Documents\OneDrive\OneDrive_Doc\Crypto-project\solequapp\programs*”加载清单
原因:无法读取“\?\C:\Users\thugu\Documents\OneDrive\OneDrive_Doc\Crypto-project\app\programs*\Cargo.toml”
原因:文件名、目录名或卷标语法不正确。(操作系统错误 123)
查看我项目的程序文件夹,programs\app,我可以找到 Cargo.toml 文件。可能是尝试读取的路径有问题(它显示 app\programs*\ 而不是 app\programs\app\,因为目录应该是这个路径)有没有办法更改该路径?谢谢
答案1
我在 Windows 11 中使用 VS Studio 时遇到了同样的问题。解决这个问题花费了我不少步骤。
首先,我得出的结论是“anchor build”在 Windows 环境中无法运行,因此您必须使用 WSL(适用于 Linux 的 Windows 系统)。
我读到以下内容:“但是“锚点测试”仍然不起作用,因为 solana-test-validator 无法在 Windows 上运行,而且 solana 的开发团队似乎没有解决这个问题。solana 4608 所以我认为你应该使用 Linux 系统或其他虚拟机(Vitrualbox)进行开发”。我没有验证过这个信息,但你可以查看这个帖子:https://github.com/coral-xyz/anchor/issues/1992
您可以借助此页面使用 WSL 设置 Visual Code Studio: https://code.visualstudio.com/docs/remote/wsl#_developing-in-wsl
但在此之前,您需要启用虚拟机平台 Windows 功能并确保在 BIOS 中启用了虚拟化。如果未启用此功能,则无法使用 WSL。我之所以提到这一点,是因为我花了很多时间才弄清楚为什么 UBUNTU 无法正常工作。
要启用此功能或检查其是否启用,请转到:https://pureinfotech.com/enable-hyper-v-windows-11/或访问:https://www.simplilearn.com/enable-virtualization-windows-10-article并导航到您的 Windows 版本的说明。我必须在 BIOS 设置中的 -> 配置 -> 虚拟化技术下启用此功能。
希望这可以帮助任何使用 Windows 偶然发现此页面的人 ;)