我正在開發一個需要我使用gcloud nodejs模塊的項目。我正在使用node app
在本地測試此項目,並使用gcloud preview app run app.yaml
在gcloud上進行本地測試。 當我在我的文件中有以下代碼時,該項目將運行node app
,但不會使用gcloud使用gcloud preview app run app.yaml
運行 - 我得到一個invalid ELF Header
錯誤。NodeJs Google計算引擎使用'gcloud'模塊時無效ELF標題
var gcloud = require('gcloud');
我相信該項目不會運行gcloud命令,因爲它與我在我的項目中使用gcloud模塊有關。如果我從我的文件中刪除該代碼,該項目使用gcloud命令運行得很好。我應該怎麼做才能解決這個問題?
我能夠通過使用一個try-catch得到錯誤
try {
var gcloud = require('gcloud');
} catch (e) {
e = 'Error loading required classes for gcloud: '+gcloud+ ': '+e
console.log(e)
res.status(200).send(e);
}
的錯誤:
Error loading required classes for gcloud: undefined: Error:
/app/node_modules/gcloud/node_modules/hash-stream-
validation/node_modules/sse4_crc32/build/Release/sse4_crc32.node: invalid ELF header
你能詳細說明它失敗的方式嗎?這聽起來像部署成功,但應用程序本身返回500秒...如果是這樣的話,請包括來自開發者控制檯的應用程序引擎日誌條目以用於失敗的HTTP請求。 – David
我現在正在使用'run'(gcloud預覽應用程序運行app.yaml)命令在本地模擬它,我沒有部署它,因爲如果它不在本地使用'run'命令運行,它將無法在線工作。如果我在取消註釋gcloud代碼時進入localhost:8080,它將不會加載任何內容,只會給我超時錯誤,但如果我取消註釋gcloud代碼,那麼我的工作原理完全正常。 – DynamoBooster
即使我只是var gcloud = require('gcloud')它不起作用 – DynamoBooster