软链接
ln
linux 文件属性
npm node_modules
k8s 镜像 npm失败
背景
因为今天帮助同事排查问题。 在linux环境下制作k8s 的镜像时, 发现打在镜像中的npm 依赖无法使用。
现象
在制作镜像的时候需要将node_modules的依赖默认打在镜像中, 在dockfile文件中进行了文件复制, 然而在复制的时候忽略了node_modules/.bin中的软链接; 复制后, 得到的文件都是链接后的文件, 在执行脚本后, 发现报错。 因为执行路径已经发生改变,从而导致脚本依赖的一些文件都找不到 需要规避这种问题,就是不要让软链接的类型发生改变。
方案
在制作打包镜像时, 拷贝node_modules 使用 cp -d link dir
, 以免因为拷贝,导致文件属性发生改变, 而无法使用。
网友评论