Я пытаюсь запустить мой проект со всеми зависимостями внутри докеров, но я застрял с зависимостью от ворчания, по какой-то причине grunt не удается с ошибкой, которая может Не найди местный хрюканье.Ошибка выполнения grunt в docker: Неустранимая ошибка: Не удается найти локальный grunt
Я создал пример того, как воспроизвести это:
.
├── code
│ ├── bower.json
│ ├── Gruntfile.js
│ └── package.json
├── docker-compose.yml
└── frontend.dockerfile
докер-compose.yml:
version: "2"
services:
frontend:
build:
context: .
dockerfile: frontend.dockerfile
ports:
- "8585:8000"
volumes:
- ./code:/srv/frontend
command: grunt
frontend.dockerfile:
FROM node:wheezy
ADD code /srv/frontend
WORKDIR /srv/frontend
RUN npm install -g grunt-cli bower
RUN npm install
RUN groupadd -r usergroup && useradd -m -r -g usergroup user
RUN chown -R user:usergroup /srv/frontend
USER user
RUN bower install
bower.json:
{
"name": "code",
"description": "",
"main": "index.js",
"authors": [
"Mr. No One"
],
"license": "ISC",
"homepage": "",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "^1.5.8"
}
}
Gruntfile.json:
module.exports = function(grunt) {
grunt.initConfig({});
// tasks
grunt.registerTask('default', []);
};
package.json:
{
"name": "code",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"grunt": "^1.0.1"
}
}
$ docker-compose up ... installing all dependencies ...
после установки, она терпит неудачу, когда пытается бежать команда grunt
I spec маньяков в моем docker-compose.yml
файл с этой ошибкой:
frontend_1 | grunt-cli: The grunt command line interface (v1.2.0)
frontend_1 |
frontend_1 | Fatal error: Unable to find local grunt.
frontend_1 |
frontend_1 | If you're seeing this message, grunt hasn't been installed locally to
frontend_1 | your project. For more information about installing and configuring grunt,
frontend_1 | please see the Getting Started guide:
frontend_1 |
frontend_1 | http://gruntjs.com/getting-started
package.json
действительно включают в себя grunt
как зависимость, так что должен быть установлен после RUN npm install
.
выглядит как папка только node_modules у меня есть, '' '/ USR/местные/lib/node_modules''', node_modules и bower_components фактически отсутствуют в папке проекта. '' 'NODE_ENV''' не установлен. – vladimirze
Есть ли ваш 'package.json' в' WORKDIR'? –
Также поместите 'cwd' в вашу' command', чтобы увидеть, где он пытается запустить grunt. –