2017-09-28 81 views
1

流星項目運行在本地機器上確定,它是用來在EC2泊塢窗容器上工作正常,但由於某種原因,現在失敗了,這裏是在我從EC2發現:錯誤:無法找到搬運工集裝箱模塊「光纖/未來」

docker logs be664c9bce8a 
/opt/bundle/programs/server/boot.js:392 
}).run(); 
^

Error: Cannot find module "fibers/future" 
    at Object.require (/opt/bundle/programs/server/boot.js:232:24) 
    at packages/meteor.js:93:20 
    at packages/meteor.js:263:4 
    at packages/meteor.js:1392:3 
    at /opt/bundle/programs/server/boot.js:339:34 
    at Function._.each._.forEach (/opt/bundle/node_modules/underscore/underscore.js:153:9) 
    at /opt/bundle/programs/server/boot.js:158:5 
    at /opt/bundle/programs/server/boot.js:388:5 
    at Function.run (/opt/bundle/programs/server/profile.js:510:12) 
    at /opt/bundle/programs/server/boot.js:387:11 

這裏是泊塢窗文件:

FROM lambdalinux/baseimage-amzn 
#RUN yum update -y 
RUN curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - 
RUN yum install -y tar nodejs gcc-c++ make 

ADD ./novice-driver.tar.gz /opt/ 

EXPOSE 8000 

ENV ROOT_URL https://novicedriver.com.au 
ENV MONGO_URL "mongodb://abc:[email protected]?ssl=true&replicaSet=Cluster0-shard-0&authSource=myDB" 
ENV PORT 8000 

WORKDIR /opt/bundle/ 
RUN npm install fibers underscore source-map-support semver 

CMD node ./main.js 

任何建議如何計算策略這個問題?由於

+0

1)你運行'流星NPM i' _before_建立你的包嗎? 2)你是如何構建你的包? 3)你爲什麼不在'/ opt/bundle/programs/server /'文件夾下執行'npm i'? – Styx

+0

我不運行'流星npm我',它有什麼作用?但我做'npm install --production'然後'流星建立。 --architecture os.linux.x86_64'我找不到您在本地mac OSX上指出的文件夾。 –

+0

升級到1.5.2.2後我也看到了這個。 –

回答

1

在泊塢容器,你應該先安裝npm模塊捆綁軟件:

# Install node modules 
WORKDIR /opt/bundle/programs/server 
RUN npm install 

WORKDIR /opt/bundle 
# do you other stuff 

此外,建設應用程序包(本地計算機或CI服務器上)之前,最好使用:meteor npm install --production,而不是僅僅npm install --production

+0

是的,這看起來是新的,過去並不需要。感謝您指出,您必須在捆綁包內運行'npm install'。 – Mitar