Bower dependsicies与Docker上的postinstall
问题描述:
可以使用docker-compose在docker上的package.json中的postinstall安装bower dependicies吗?Bower dependsicies与Docker上的postinstall
的package.json文件:
{
"name": "mongocrud",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./config/server.js",
"postinstall": "node ./node_modules/bower/bin/bower install",
"test": "mocha"
},
"dependencies": {
//dependicies
}
}
Dockerfile:
泊坞窗,compose.ymlFROM node:7.7.2-alpine
WORKDIR /application
COPY package.json .
COPY bower.json .
COPY .bowerrc .
RUN npm install -g bower
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
:
使用后version: '3'
services:
mongodb:
image: mongo:3.4.4
command: mongod
container_name: mongo-container
ports:
- 27017:27017
express:
build: .
container_name: express-container
ports:
- 3000:3000
working_dir: /application
links:
- mongodb
command: npm start
和码头工人,组成了应用程序工作正常,但缺少我可以解决这个问题吗?
P.S
这是我在控制台后发现码头工人,组成了起来:
npm WARN lifecycle [email protected]~postinstall: cannot run in wd %s %s (wd=%s) [email protected] node ./node_modules/bower/bin/bower install /application
感谢
答
变化node ./node_modules/bower/bin/bower install
到bower install --allow-root
在后脚本。 --allow-root
是为了防止您的权限错误。
或者您可以删除后安装脚本并在Dockerfile中的RUN npm install
之后添加RUN bower install --allow-root
。
而鲍尔需要git工作,你必须首先在你的Dockerfile中安装git。
更改节点./node_modules/bower/bin/bower安装到bower安装--allow-root给我这个:bower bootstrap#^ 3.3.7 ENOGIT git未安装或不在PATH中 – Marcin
您必须安装git首先,在你的dockerfile中添加apt-get update并安装git –