Docker NPM安装不起作用

我想在docker中公开我的asp.net核心应用程序。 但是我不能得到NPM工作。 我尝试了下面的以下,但我得到消息,没有findNPM。 不过,我安装nodejs,所以我想它应该是可用的。

任何想法我做错了什么?

FROM microsoft/aspnet:1.0.0-rc1-update1-coreclr ADD package.json /tmp/package.json RUN printf "deb http://ftp.us.debian.org/debian jessie main\n" >> /etc/apt/sources.list RUN apt-get -qq update && apt-get install -qqy sqlite3 libsqlite3-dev && rm -rf /var/lib/apt/lists/* RUN apt-get update RUN apt-get -y install nodejs && cd /tmp && npm install COPY . /app WORKDIR /app RUN ["dnu", "restore"] EXPOSE 5001/tcp ENTRYPOINT ["dnx", "-p", "project.json", "web"] 

老版本的Node没有捆绑npm。 在一些Linux发行版中,版本库中的Node版本比较老,例如在CentOS上,它就像0.10.7。

您的应用程序可能需要安装特定版本的nodejs。 如果是这样,那么在运行之前,需要将相关存储库作为dockerfile的一部分添加到虚拟机中

 apt-get -y install nodejs 

这个链接提供了一些关于如何在你的发行版上做的细节: https : //nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions 。

另一方面,如果您对发行版的任何版本的Node有兴趣,那么Suresh Koya的回答就可以了。

在Linux上,npm必须与nodejs分开安装。 你需要添加:

  RUN apt-get -y install npm 

http://blog.teamtreehouse.com/install-node-js-npm-linux

正如你可以看到这里: https : //hub.docker.com/r/microsoft/aspnet/~/dockerfile/

FROM mono:4.0.1

单声道:4.0.1 :

FROM debian:wheezy你为什么要用jessie?

 RUN printf "deb http://ftp.us.debian.org/debian jessie main\n" >> /etc/apt/sources.list FROM microsoft/aspnet:1.0.0-rc1-update1-coreclr ADD package.json /tmp/package.json RUN printf "deb http://ftp.us.debian.org/debian jessie main\n" >> /etc/apt/sources.list RUN apt-get -qq update && apt-get install -qqy sqlite3 libsqlite3-dev && \ apt-get -y install nodejs npm && cd /tmp && npm install && \ rm -rf /var/lib/apt/lists/* COPY . /app WORKDIR /app RUN ["dnu", "restore"] EXPOSE 5001/tcp ENTRYPOINT ["dnx", "-p", "project.json", "web"]