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
正如你可以看到这里: 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"]
- Docker for Windows:ASP.NET站点无法读取在Dockerfile中定义的环境variables
- Visual Studio 2017泊坞窗错误运行的应用程序
- docker与App_Data卷?
- VSTS任务 – .NET核心发布 – 生成错误
- 启动时出现Dotnetcore容器错误,询问是否运行SDK命令
- 鉴于下面描述的错误,人们如何在Ubuntu / Docker的ASP.NET Core Web API中进行身份validation?
- ASP.NET Core 1.1 Docker容器无法validationHTTPS连接
- 基于microsoft / aspnet的Docker容器无法加载Kestrel
- Docker的dotnet映像容器不允许我在更改后重build