2016-04-28 6 views
0

Я пытаюсь установить некоторый пакет, однако, я не знаю, почему я получаю такие ошибки в контейнере:npm ERR! Linux 4.1.19-boot2docker

npm ERR! Linux 4.1.19-boot2docker 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v5.10.1 
npm ERR! npm v3.8.3 
npm ERR! path ../mime/cli.js 
npm ERR! code EPROTO 
npm ERR! errno -71 
npm ERR! syscall symlink 

npm ERR! EPROTO: protocol error, symlink '../mime/cli.js' -> '/app/myapp/node_modules/.bin/mime' 
npm ERR! 
npm ERR! If you need help, you may report this error at: 
npm ERR! https://github.com/npm/npm/issues 

npm ERR! Please include the following file with any support request: 
npm ERR! /app/myapp/npm-debug.log 
[Error] Failed to install npm dependencies. Exited with code 185. 

Мой Dockerfile является:

FROM node:latest 

# System update 
RUN apt-get -q -y update 

RUN apt-get -q -y install npm 
RUN npm install -g gulp-cli 
RUN npm install -g grunt-cli 


RUN apt-get clean && rm -r /var/lib/apt/lists/* 

EXPOSE 8080 

VOLUME ["/app"] 
WORKDIR /app 

Любой может помочь?

+0

Этот загрузочный боксер в Windows? Похоже, что файловая система, в которой он пытается создать эту символическую ссылку, монтируется с хоста в VM-загрузчик, а базовая файловая система не поддерживает символические ссылки. См. Эту аналогичную проблему в npm github https://github.com/npm/npm/issues/9901 – joelnb

ответ

0

Ошибка, которую вы видите, указывает, что npm не может настроить символические ссылки внутри контейнера Docker. Используйте флаг --no-bin-links, чтобы избежать этого:

npm install --no-bin-links 
+0

Я не буду публиковать отдельный ответ, потому что это в основном решение, но просто для ясности вы можете отредактировать свой ответ просто есть «npm install --no-bin-links»? Установка grunt и gulp в файле Docker отлично работает, но более поздняя команда «npm install» (для установки зависимостей для пакета) завершится с ошибкой. См. Мой комментарий по вопросу и связанной с ним проблеме в github. – joelnb