TimE
TimE

Reputation: 2887

Installing github hosted npm dependencies with Docker

I'm trying to dockerize a project, but I'm having issues in the npm install process with my Gulp 4 dependency. I'm using Gulp 4 because we needed some of the new features, but all the instructions I've seen for using the prerelease version of Gulp 4 is to use the github branch url. Here is the offending dependency:

"gulp": "github:gulpjs/gulp#4.0",

And here is the error I get when I try to run docker build -t user/project .:

npm ERR! Error: No compatible version found: gulp@'github:gulpjs/gulp#4.0'
npm ERR! Valid install targets:
npm ERR! ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.7","0.0.8","0.0.9","0.1.0","0.2.0","1.0.0","1.1.0","1.2.0","1.2.1","2.0.0","2.0.1","2.1.0","2.2.0","2.3.0","2.4.0","2.4.1","2.6.0","2.6.1","2.7.0","3.0.0","3.1.1","3.1.2","3.1.3","3.1.4","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","3.3.0","3.3.1","3.3.2","3.3.4","3.4.0","3.5.0","3.5.1","3.5.2","3.5.5","3.5.6","3.6.0","3.6.1","3.6.2","3.7.0","3.8.0","3.8.1","3.8.2","3.8.3","3.8.4","3.8.5","3.8.6","3.8.7","3.8.8","3.8.9","3.8.10","3.8.11","3.9.0","3.9.1"]
npm ERR!     at installTargetsError (/usr/lib/node_modules/npm/lib/cache.js:719:10)
npm ERR!     at /usr/lib/node_modules/npm/lib/cache.js:638:10
npm ERR!     at saved (/usr/lib/node_modules/npm-registry-client/lib/get.js:148:7)
npm ERR!     at /usr/lib/node_modules/graceful-fs/polyfills.js:133:7
npm ERR!     at Object.oncomplete (fs.js:108:15)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.19.0-51-generic
npm ERR! command "node" "/usr/bin/npm" "install"
npm ERR! cwd /src
npm ERR! node -v v0.10.42
npm ERR! npm -v 1.3.6

This is the Dockerfile I'm currently using:

# Using CentOS
FROM    centos:centos6

# Enable Extra Packages for Enterprise Linux (EPEL) for CentOS
RUN     yum install -y epel-release

# Install Node.js and npm
RUN     yum install -y nodejs npm
COPY    package.json /src/package.json

# Install app dependencies
RUN     cd /src; npm install

# Bundle app source
COPY    . /src

# Run server
EXPOSE  8080
CMD     ["npm", "start"]

Is there a way to get Docker to be ok with the github url? Or is there an alternate way to include the dependency that Docker would be happy with?

Upvotes: 0

Views: 198

Answers (1)

Shibashis
Shibashis

Reputation: 8401

The issue was caused by older version of node available on the base image. The version of node was not compatible with gulp version.

A base image with newer version of node resolved the issue.

Upvotes: 1

Related Questions