我嘗試使用命令行工具在Elastic Beanstalk上安裝一個簡單的Node.js應用程序。由於目錄權限,Amazon Elastic Beanstalk上的Node.js部署失敗
在我的git倉庫我運行命令
$ eb deploy
部署我的git倉庫中的內容。它部署好但是應用程序的健康狀態是紅色的。
如果我看彈性魔豆網站上的日誌,它指向我在日誌中出現以下錯誤:
> [email protected] install /tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents/build'
gyp ERR! stack at Error (native)
gyp ERR! System Linux 4.1.17-22.30.amzn1.x86_64
gyp ERR! command "/opt/elasticbeanstalk/node-install/node-v4.3.0-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v4.3.0-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-linux-x64/fse.node" "--module_name=fse" "--module_path=/tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-linux-x64"
gyp ERR! cwd /tmp/deployment/application/node_modules/nodemon/node_modules/chokidar/node_modules/fsevents
gyp ERR! node -v v4.3.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
我試着像各種事情:
- 創建目錄自己(目錄由root擁有)。
- 刪除/ tmp中的所有內容,以便希望下次修復它自己。
- 刪除我的node_modules目錄。
這些選項都不起作用,我無法找到解決方法或發生這種情況的原因。我可以在本地運行node.js應用程序,並將其部署到Azure和Heroku,而不會有任何問題。
我有同樣的問題,你有什麼發現嗎?提出的答案不是我的問題 – ParoX
我已經想通了,一個模塊試圖在package.json的'preinstall'部分中使用'npm install'安裝另一個模塊。希望這也是你的問題。 – ParoX
我通過不檢查git倉庫中的'node_modules'解決了我的問題。 'npm install'自動創建它們。 –