2016-12-26 116 views
0

我試圖使用CLI部署我的Rails應用彈性魔豆。 rails應用程序部署良好(資產編譯,數據庫遷移等)。但是,我無法運行bower install。我試圖運行sudo npm install -g bower,並將其安裝到\選擇,而是試圖運行一個涼亭命令它不承認鮑爾爲被安裝在系統中時。部署Rails應用到彈性青苗而autorunning NPM和鮑爾

這是我的問題:

1)爲什麼不從我的應用程序目錄鮑爾訪問? 2)我如何得到它,這樣EB自動運行rake bower:install(我使用的是涼亭,欄杆寶石與資產管道兼容)? 3)如何獲取它,以便EB自動安裝npm,以便第2部分能夠在上面工作?

謝謝你,希望我的問題是有道理的。 (相對較新的AWS)

回答

0

我找到了一個更好的解決方案。而不是使用Bower Rails gem,只需在根目錄中使用標準的bower.json文件即可。

然後,創建一個配置文件:.ebextension /紅寶石的settings.config具有以下內容:

files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/pre/03_bower_install.sh": 
    mode: "000755" 
    owner: root 
    group: root 
    content: | 
     #!/usr/bin/env bash 
     echo "starting to install bower via npm" 
     sudo npm install bower -g --prefix /usr/local --allow-root 
     echo "starting to install git" 
     sudo yum install git 
     echo "changing directory to /var/app/ondeck" 
     cd /var/app/ondeck 
     ls 
     echo "running bower install" 
     sudo $(which bower) install --allow-root 

這利用彈性魔豆的預部署掛鉤,並允許安裝亭子和bower install之前運行資產預編譯。

+0

它的工作原理。但是在安裝eb的時候拋出'events.js:72扔呃; //未處理「錯誤」事件「錯誤。任何人修復它? – Penguin