2016-06-08 208 views
0

我試圖升級節點版本以滿足我的項目的其他依賴項。我已經嘗試過各種方法來尋找合適的解決方案。但不幸的是,沒有任何工作。我最終嘗試this 並且響應沒有變化。 我目前的節點版本是v0.10.33。這實際上是在docker上實現的。我在下面附加docker文件。節點版本不升級

FROM node:6.2.1 

RUN apt-get update --fix-missing 

RUN apt-get install -y supervisor 
RUN apt-get install -y python-pip && pip install supervisor-stdout 

# Cleanup 
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 
RUN apt-get autoremove -y 

#ADD ./config/supervisord.conf /etc/supervisor/conf.d/supervisord- nodejs.conf 

RUN ln -s /usr/bin/nodejs /usr/local/bin/node 

ADD package.json/
ONBUILD RUN npm install 

WORKDIR /app 
ADD . /app 
RUN npm update 

EXPOSE 8080 
CMD ["/usr/bin/supervisord", "-n"] 
#ENTRYPOINT ["/nodejs/bin/npm", "start"] 

因爲我不是很漂亮,在碼頭和節點不發生什麼事情。即使docker文件以開頭,從節點:6.2.1節點版本安裝是v0.10.33。這是我正在經歷的一件奇怪的事情。所有有點幫助都表示讚賞。

回答

0

ln -s是錯誤的方法,應該失敗。

Step 7 : RUN ln -s /usr/bin/nodejs /usr/local/bin/node 
---> Running in 4f1e92a58fe8 
ln: failed to create symbolic link '/usr/local/bin/node': File exists 
The command '/bin/sh -c ln -s /usr/bin/nodejs /usr/local/bin/node' returned a non-zero code: 1 

如果你還沒有注意到這個錯誤,那麼你將與節點v0.10.33仍在運行的舊形象。

把上面一行

RUN ln -s /usr/local/bin/node /usr/bin/nodejs 

如果這是一些構建腳本的一部分,經常檢查你的命令的退出狀態。在bash中,$?會給你返回碼或set -e會自動檢查你的返回碼。

+0

謝謝你的幫助。我會試一試,讓你知道這個評論。 –