node.js - 在Docker上进行postinstall的Bower依赖

标签 node.js docker bower

可以使用docker-compose在docker上的package.json中使用postinstall安装Bower依赖项。

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:
FROM 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"]

docker-compose.yml:
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

在使用docker-compose up应用程序后运行良好,但缺少Bower依赖项,我可以解决该问题吗?

压力

我在docker-compose之后在控制台中找到了这个:
npm WARN lifecycle mongocrud@0.0.0~postinstall: cannot run in wd %s %s (wd=%s) mongocrud@0.0.0 node ./node_modules/bower/bin/bower install /application

谢谢

最佳答案

在安装后脚本中将node ./node_modules/bower/bin/bower install更改为bower install --allow-root--allow-root是为了防止出现权限错误。

或者,您可以删除后安装脚本,并在Dockerfile中的RUN bower install --allow-root之后添加RUN npm install

而且Bower需要git才能工作,您必须首先在Dockerfile中安装git。

关于node.js - 在Docker上进行postinstall的Bower依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44962014/

相关文章:

javascript - 仅在某些路由上使用 Express.JS 中间件

javascript - 如何在 mocha 测试中获取 sails 应用程序的运行时 url

node.js - 错误 : Not ready to parse. 缺少内容类型?

javascript - Node.js:通过迭代的 JSON POST 数据创建多个 MongoDB 文档

javascript - ECONFLICT 无法找到适合 jquery Foundation 的版本

java - 为什么在 Docker 容器中启动 jar 比在本地机器上启动更快?

python - 在 Windows 主机上使用 python (cv2.VideoCapture) 在 docker 容器中打开网络摄像头

php - docker-compose up -d不会创建卷,而docker-compose up会创建卷

css - 为什么 Materialize.css 没有按预期工作?

javascript - 在另一个 browserify 应用程序中包含一个已经捆绑的文件