2014-08-27 35 views
2

我今天升級到Meteor 0.9.0。我使用流星束文件名來捆綁我的應用程序並上傳到AWS。當我嘗試啓動它在AWS上,我得到Meteor 0.9.0捆綁和部署拋出錯誤

wrong ELF class: ELFCLASS32 

這是纖維/ bcrypt一個已知的問題,所以我去捆綁/程序/服務器/ node_modules,去除纖維和bcrypt文件夾並重新安裝他們(npm安裝)。

然而,目前node_modules目錄不存在了......當我想開始我的NodeJS得到

Error: Cannot find module 'underscore' 

我試圖手動添加與故宮安裝模塊,甚至得到了服務器最終運行,但客戶沒有加載和控制檯誤差約爲

Spacebars undefined 

(我沒有確切的空格鍵問題)

我知道流星0.9.0是非常新的,但如果你有建議,我會非常感激!

回答

4

你並不需要刪除任何文件夾,只要做到這一點的bundle目錄(未解壓meteor bundle的輸出):

cd bundle 
cd programs/server 
npm install 

流星0.9.0確保它提出了所有的node_modules其中唐「T包含二進制文件,並npm install兩個bcrypt和纖維

既然你已經刪除了node_modules故宮模塊,你可能不得不從頭開始重新捆綁,讓他們回來創建的package.json。

對於Spacebars undefined問題,很可能您的項目中包含與Meteor 0.9.0不兼容的軟件包。你可以通過檢查你的服務器日誌來找出它是哪一個。雖然它不兼容,但您的應用仍然可以運行。

這可能是boostrap-3,雖然它可能不是。如果是你可以meteor remove mrt:bootstrap-3meteor add mizzao:bootstrap-3

3

Akshat,你是一個救星!根據你的回答,我終於弄明白了!爲了其他人的利益,我想記錄什麼最終工作:

首先,我不得不手動刪除我的Meteor項目中的所有舊包(似乎它沒有自動執行)。特別是,我刪除

iron-router 

這是預流星0.9版本,並安裝

iron:router 

這是後期流星0.9版本。 (我也必須做一個類似的過程來爲其他2-3個軟件包刪除和添加不同的軟件包)。然後,一旦我在AWS上打包並解壓縮,我就做了關於npm安裝在bundle/programs/server中的Akshat所說的內容。此外,我不得不刪除

bundle/programs/server/npm/npm-bcrypt 

否則我如果您收到此錯誤與Meteor-Up得到一個ELS錯誤

1

文件夾手動刪除原來的bctypt。更新軟件包應該修復它。

npm update mup -g