我正在尝试在 Alpine 上安装旧版本的 Node.js (4.4.4)。这是我的命令:
apk update
apk add nodejs-lts=4.4.4-r0
Run Code Online (Sandbox Code Playgroud)
执行时,出现错误(以 root 身份运行,因为我使用的是 Alpine:3.4 Docker 映像):
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
v3.4.6-64-gd029d25 [http://dl-cdn.alpinelinux.org/alpine/v3.4/main]
v3.4.6-33-g38ef2d2 [http://dl-cdn.alpinelinux.org/alpine/v3.4/community]
OK: 5977 distinct packages available
/ # apk add nodejs-lts=4.4.4-r0
ERROR: unsatisfiable constraints:
nodejs-lts-4.6.0-r0:
breaks: world[nodejs-lts=4.4.4-r0]
Run Code Online (Sandbox Code Playgroud)
如何在 中安装特定的旧版本软件包apk?
给定一个表示文件(或目录、设备等)的任意单个参数,我如何获得该参数的绝对路径?
我已经看到这个问题的许多答案涉及 find/ls/stat/readlink 和 $PWD,但没有一个适合我的需要。看起来最接近的答案是 ksh 的“whence”命令,但我需要它在 sh/bash 中工作。
假设文件 foo.txt 位于我的主目录 /Users/matthew/foo.txt 中。尽管我当前的工作目录是什么(我正在调用命令“abs”),但我需要以下行为:
(PWD is ~)
$ abs foo.txt
/Users/matthew/foo.txt
$ abs ~/foo.txt
/Users/matthew/foo.txt
$ abs ./foo.txt
/Users/matthew/foo.txt
$ abs /Users/matthew/foo.txt
/Users/matthew/foo.txt
Run Code Online (Sandbox Code Playgroud)
“腹肌”到底是什么?
TIA,马修