wsl2 + Ubuntu 18 ,本来是为了解决 Docker 不能自启,折腾了个半天装了个 zsh
「折腾」莫名其妙得解决了 wsl2 内 Docker 的自启动_电脑网络_沉冰浮水:
https://www.wdssmq.com/post/20140328160.html
Docker 自启目测是解决了,但是今天跑 node 项目又不行了。。
/usr/bin/env: ‘bash\r’: No such file or directory
目前切换回 bash 可以恢复 npm 执行。
我的需求就是 1 、Docker 能正常自启; 2 、不影响其他使用;
zsh 之前隐约看到过推荐,有啥优点目前也不清楚,并不是特别需要用。。
1
ysc3839 2022-04-08 11:53:15 +08:00 1
bash\r 这个一看就是文件的换行符使用了 CRLF ,其中的 CR 被当成了行内的字符作为参数传递了
|
2
Vegetable 2022-04-08 11:55:00 +08:00
请直接使用 docker desktop for windows with wsl2 backend
|
3
ScepterZ 2022-04-08 11:56:29 +08:00
win 现在也都支持\n 换行了,建议统一都用\n ,git 的也配置一下不要给转换了
你之前能用估计是 bash 默认处理了\r\n ,zsh 没有 |
4
liubaicai 2022-04-08 12:03:38 +08:00
请直接使用 docker desktop for windows with wsl2 backend +1
|
5
wdssmq OP |
6
liubaicai 2022-04-08 14:55:09 +08:00
@wdssmq 不是对接那个,也不是另外安装子系统,是用的当前子系统装的,(可能会跟你已经装的冲突),建议删除 wsl 里装的,直接用 windows 安装,装完后在 wsl 也能用,自带自启动
|
7
bootvue 2022-04-08 15:01:20 +08:00
zsh 中 * 属于特殊字符 加个单引号 '*' 试试
|
8
bootvue 2022-04-08 15:09:17 +08:00
@bootvue 回复了个鸡儿 zsh 可以卸载掉 换回 bash 或者装个 my-zshell 试试 还是在虚拟机里泡 docker 比较好
|
9
SilenceLL 2022-04-08 15:27:57 +08:00
docker desktop 不能商用。。
|
11
thedrwu 2022-04-08 16:57:03 +08:00 via Android
1. zsh 和 posix shell 的 glob 失败规则不太一样
2. 像是 CRLF 的锅 听人吹 zsh 和 fish 就如听人强调自己用 Arch 一样🤨 |
12
wdssmq OP wsl -l -v
NAME STATE VERSION * Ubuntu-18.04 Running 2 docker-desktop Running 2 docker-desktop-data Running 2 安装 docker desktop 后会这成这样。。 |
13
psyngw 2022-04-08 17:39:43 +08:00
我记得我好像遇到过类似的情况。给个思路
你看下在 zsh 里 echo $PATH 是不是混了 Windows 的路径进去了,调用位置出错了。 是的话 $ sudo vim /etc/wsl.conf [interop] appendWindowsPath = false 重启 wsl 看看。 或者自己在 zshrc 里按需处理一下 $PATH 看看(比如你需要用到 `code .`之类的必须导入 path) 或者用 nvm 哈哈 |
14
aloxaf 2022-04-08 17:46:06 +08:00 2
哎,所以说要看一手资料
你引用的那篇博客引用的英文博客原文,明明强调了「 Please note, I’m using the zsh shell. If you’re using bash (like most people), you’ll need to change .zshrc by .bashrc.」,结果到这篇博客就变成必须使用 zsh 了,然后到你这再折腾一轮…… |