2014-12-14 5 views
2

OpsWorks를 사용하여 사용자 정의 node.js 응용 프로그램을 배포하고 있습니다. 나는 요리사 전문가가 아니며 쉬운 과정이 될 것이라고 생각하지만 나는 계속 걸림돌을 치고 있습니다. 이 가장 최근의 문제는 나를 정말로 되돌아 가게하고 있습니다.OpsWorks를 사용하여 AWS Linux에 hiredis 설치 문제

기본적으로 Hiredis라는 노드 패키지에 따라 "Kue"라는 패키지를 사용하고 있습니다. Hiredis는 C 레벨에서 구현되었으며 (필자가 이해하는 한) 파이썬 수준의 컴파일 도구를 사용합니다.

OpsWorks가 사용하는 기본 Chef 스크립트가 Kue, Hiredis가 설치 될 때 실패한 것으로 보입니다. 다음은 인스턴스에서 응용 프로그램을 배포하려고 시도 할 때의 로그입니다. http://codepad.org/RXxKXqBq

Google 검색에 AWS Linux에서 사용하는 Python 버전의 문제가 있음을 나타내는 메시지가 표시됩니다. 기본 Node.js 응용 프로그램을 사용하고 있습니다. 여기에서 찾을 수있는 요리사 레시피 : https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/opsworks_nodejs

답변

1

노드 패키지 및 버전 compadylity에 익숙하지 않지만 공유 한 로그에서 문제가있는 것 같습니다. 당신이 amdefine라고 사용하고있는 노드 패키지 :

npm ERR! Failed to parse json 
npm ERR! Unexpected end of input 
npm ERR! File: /home/deploy/.npm/amdefine/0.1.0/package/package.json 
npm ERR! Failed to parse package.json data. 
npm ERR! package.json must be actual JSON, not just JavaScript. 
npm ERR! 
npm ERR! This is not a bug in npm. 
npm ERR! Tell the package author to fix their package.json file. JSON.parse 
npm ERR! System Linux 3.14.26-24.46.amzn1.x86_64 
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--production" 
npm ERR! cwd /srv/www/my_api/releases/20141214002817 
npm ERR! node -v v0.10.29 
npm ERR! npm -v 1.4.14 
npm ERR! file /home/deploy/.npm/amdefine/0.1.0/package/package.json 

그것은 npm cache clean 또는 아마 you found too로, nodejs의 버전을 변경하여 해결할 수 있습니다.

명령을 추가하려면 새 레시피를 작성하거나 wrapper cookbook에 추가해야합니다. 만족해야 할 것은 노드를 설치하고 패키지를 설치하기 전에이 명령을 사용해야한다는 것입니다.

버전을 변경하려면 default nodejs recepie을 설치하면 설치 한 노드 j의 requred 버전이 해당 요리 책에 대해 attributes file으로 정의되어 있음을 알 수 있습니다.

따라서 default[:opsworks_nodejs][:version] 속성으로 기본값을 대체 할 수 있습니다.

+0

nodejs_configuratiobs.rb에서 npm 캐시 정리를 추가하려고합니다. ShellOut 명령에서 npm 패키지를 설치하기 전에 추가했습니다. Chef :: Log.info (OpsWorks :: ShellOut.shellout ("npm cache clean && sudo su - # {app_config [: user]} -c 'cd # {app_root_path} && npm # {npm_install_options} '2> & 1 ")) - 바라기를 바란다면 까다 롭습니다. 테스트를하고 돌아 가시면 감사하겠습니다.) 감사합니다. – ddibiase

+0

우수, 그 트릭을했다. 환경이 설정되었으므로 이제 구성하고 노드 응용 프로그램이 성공적으로 배포되었음을 감지하는 데 집중해야합니다. 감사합니다 rastasheep! – ddibiase

+0

좋은 소식! 문제 없어 :) – rastasheep