我正在尝试在Laradock中安装const gulp = require("gulp");
const glob = require('glob');
const fs = require('fs');
gulp.task('default', function () {
// like gulp.src but makes it easy to work on individual files one at a time
glob("node_modules/+(typography-theme*)/dist/index.js", function (er, files) {
// used later to avoid an extra newline after the last entry added
const numFiles = files.length;
let thisFileNum = 1;
files.forEach(file => {
const contents = fs.readFileSync(file, "utf8");
// look for "name: 'Lato',"
let fontName = contents.match(/name:\s*'(.*)'/);
// look for "styles: ['400', '700']"
let fontStyle = contents.match(/styles:\s*\['(.*)'\]/);
// get rid of the ' and , in fontStyle [the regexp returns ""'400', '700']""
fontStyle = fontStyle[1].replace(/,|'/g, "");
// in fontNames like "Souce Sans Pro", replace the spaces with +'s
fontName = fontName[1].replace(/\s+/g, "+");
// in fontStyles like "200 400 700", replace the spaces with ,'s
fontStyle = fontStyle.replace(/\s+/g, ",");
// now build the next line to append to the file
let line = `${fontName}:${fontStyle}&subset=latin`;
// I don't know where you got the 'latin-ext' on one of your fonts
// if the last file, omit the newline
if (thisFileNum === numFiles) {
fs.appendFileSync('modified.txt', line);
}
else {
fs.appendFileSync('modified.txt', line + '\n');
}
thisFileNum++;
});
});
});
,并且已设置
php7.2-ldap
和
WORKSPACE_INSTALL_LDAP=true
然后尝试构建
之类的图像PHP_FPM_INSTALL_LDAP=true
我收到此错误消息。日志的一部分
docker-compose build workspace
这里发生了什么,为什么我不能安装它?
答案 0 :(得分:1)
我在回答自己的问题。
此问题已通过添加
修复apt-get update -yqq && \
之前
apt-get install -y libldap2-dev && \
在workspace/Dockerfile
和php-fpm\Dockerfile
中。
完整的块如下所示:
文件:workspace\Dockerfile
###########################################################################
# LDAP:
###########################################################################
ARG INSTALL_LDAP=false
ARG PHP_VERSION=${PHP_VERSION}
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
apt-get install -y php${PHP_VERSION}-ldap \
;fi
为什么会这样? 来自Github issue的引用:
这里似乎正在发生的事情是有一些apt-get 在本地时调用几个软件包的安装命令 软件包回购与遥控器不同步。在互动中 环境,这将由用户和适当的apt-get看到 更新将运行。但是,Dockerfile不包含任何 软件包回购更新命令,因此当前层具有 与远程的软件包回购列表不同。这通常是 “问题”与码头工人层,因为如果他们的命令,它们将被重用 并没有改变(我也必须学习一些困难的方法)。