首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“让安装”错误。生成(e=2)系统找不到指定的文件

“让安装”错误。生成(e=2)系统找不到指定的文件
EN

Stack Overflow用户
提问于 2022-11-13 19:19:57
回答 1查看 37关注 0票数 0

我已经找了几个小时了,仍然找不到解决办法,感到很沮丧。

我安装了make和docker,并尝试构建linuxkit工具https://github.com/linuxkit/linuxkit,然后使用它为Docker构建linuxkit映像

来自自述的 "LinuxKit使用linuxkit工具来构建、推送和运行VM映像。

简单的构建说明:使用make进行构建。这将在bin/中构建该工具。“

我运行make install,但是一次又一次,无论我做什么,它都会失败

代码语言:javascript
复制
PS C:\Users\Tim\Desktop\linuxkit-master\linuxkit-master> make install
cp -R bin/* /usr/local/bin
process_begin: CreateProcess(NULL, cp -R bin/* /usr/local/bin, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [Makefile:78: install] Error 2

在Makefile: 77,78:

代码语言:javascript
复制
install:
    cp -R bin/* $(PREFIX)/bin

我尝试过更改makefile,因为Windows上没有usr/local/bin这样的路径,但是无论我将其更改为什么,构建都不会成功。

我甚至尝试在wsl上运行它:

代码语言:javascript
复制
root@DESKTOP-GF982I3:/mnt/c/users# cd /mnt/c/Users/Tim/Desktop/linuxkit-master/linuxkit-master
root@DESKTOP-GF982I3:/mnt/c/Users/Tim/Desktop/linuxkit-master/linuxkit-master# make install
cp -R bin/* /usr/local/bin
cp: cannot stat 'bin/*': No such file or directory
make: *** [Makefile:78: install] Error 1
root@DESKTOP-GF982I3:/mnt/c/Users/Tim/Desktop/linuxkit-master/linuxkit-master#

但是,这个错误再次出现在第78行。

拜托救救我。

编辑:

我在linux上也遇到了一个错误

安装了码头引擎并运行了守护进程:

代码语言:javascript
复制
tim@tim-vm:~/Desktop/linuxkit/linuxkit-1.0.1$ sudo make
make -C ./src/cmd/linuxkit
make[1]: Entering directory '/home/tim/Desktop/linuxkit/linuxkit-1.0.1/src/cmd/linuxkit'
fatal: not a git repository (or any of the parent directories): .git
tar cf - -C . . | docker run --rm --net=none --log-driver=none -i -e GOARCH= linuxkit/go-compile:7b1f5a37d2a93cd4a9aa2a87db264d8145944006 --package github.com/linuxkit/linuxkit/src/cmd/linuxkit --ldflags "-X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.GitCommit= -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.Version="v0.8+"" -o linuxkit > tmp_linuxkit_bin.tar
gofmt...
vendor/github.com/Code-Hex/vz/v3/internal/objc/finalizer_118.go:8:18: expected '(', found '['
vendor/github.com/moby/buildkit/frontend/attest/sbom.go:75:13: expected '(', found '['
vendor/github.com/moby/buildkit/frontend/frontend.go:15:28: expected ';', found '['
vendor/github.com/moby/buildkit/frontend/gateway/client/client.go:17:28: expected ';', found '['
vendor/github.com/moby/buildkit/solver/result/result.go:16:15: expected ']', found any
vendor/github.com/moby/buildkit/solver/result/result.go:26:2: expected declaration, found 'if'
vendor/github.com/moby/buildkit/solver/result/result.go:68:3: expected declaration, found 'return'
vendor/github.com/moby/buildkit/solver/result/result.go:91:2: expected declaration, found 'if'
govet...
golint...
./cache/write.go:357:1: exported method Provider.ImageInCache should have comment or be unexported
sh: exported: unknown operand
make[1]: *** [Makefile:40: tmp_linuxkit_bin.tar] Error 2
make[1]: *** Deleting file 'tmp_linuxkit_bin.tar'
make[1]: Leaving directory '/home/tim/Desktop/linuxkit/linuxkit-1.0.1/src/cmd/linuxkit'
make: *** [Makefile:61: linuxkit] Error 2

在调整windows上的makefile文件时,我遇到了类似的问题。

如您所见,脚本创建一个.tar文件,但立即删除它。

我将再次重申这个主要目标是在Windows上运行LinuxKit容器,正如我所读到的,LinuxKit将构建特定的.iso映像,以便与Hyper一起使用,这将提供更高的效率,例如比普通的Hyper机器更快的启动速度和更少的CPU和内存开销。

但由于我的linuxkit有问题,我将不得不求助于使用常规的超级V机器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-13 19:34:34

您感到沮丧,因为您正在尝试使用一个在Windows系统上的GNU/Linux上创建的项目。这根本行不通。Windows和Linux在所有可以想象的方面都是完全不同的,一个项目要能够同时完成这两个方面都需要付出巨大的努力。大多数项目没有时间、精力或兴趣去做这件事。

此错误:

代码语言:javascript
复制
process_begin: CreateProcess(NULL, cp -R bin/* /usr/local/bin, ...) failed.

是因为你试图在Windows上运行Linux程序cp。这个程序在Windows上不存在。

然后你转到WSL。我不太了解WSL,但您正在朝着正确的方向前进: WSL提供了一个类似Linux的环境,您可以在其中运行(一些)Linux样式的程序。

此错误:

代码语言:javascript
复制
cp: cannot stat 'bin/*': No such file or directory

现在正在运行Linux cp,但是它说它正在试图复制bin目录中的文件,并且没有这样的文件。我无法确切地解释为什么,但要明确一点: Makefile中的install目标通常会安装您已经构建的文件。在上面的示例文本中,您没有运行实际构建任何内容的make命令(通常这只是没有目标的make )。

所以,您可能无法运行make install,因为没有什么可安装的,因为您还没有构建代码。

在我看来,像linuxkit这样用于构建Linux发行版的项目(只是从名称和描述上讲,我对它一无所知),几乎可以肯定的是,而不是可以在上运行。即使是在WSL也不可能。您应该与项目检查,看看他们的需求是什么。

您可能需要回到这里的绘图板:要么获得一个单独的系统并在其上安装GNU/Linux,要么创建一个真正的虚拟机(不仅仅是WSL)并在那里运行它,或者找到另一个设计用于在Windows上运行的工具。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74424032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档