2013-01-04 3 views
2

appfog에 하나의 node.js 응용 프로그램이 게시되었지만 자바 스크립트 (https://github.com/felixge/node-mysql)을 사용하여 mysql 데이터베이스에 액세스하려고하면 "node-mysql"이 설치되지 않은 것 같습니다. 어떻게해야합니까? appfog 사이트에 대한 문서가 없습니다. 감사.appfog with node.js mysql 데이터베이스에 자바 스크립트로 액세스하는 방법?

서버 app.js의 코드 :

if(process.env.VCAP_SERVICES){ 
var env = JSON.parse(process.env.VCAP_SERVICES); 
var cre = env['mysql-5.1'][0]['credentials']; 
} 
var Client = require('mysql').Client, 
client = new Client(); 
client.user = cre.user; 
client.password = cre.password; 
client.host=cre.host; 
client.port=cre.port; 
client.database=cre.name; 
client.connect(); 

client.query(
    'SELECT * FROM scores ', 
    function selectPlayers(err, results, fields) { 
     if (err) { 
      console.log("Error: " + err.message); 
      throw err; 
     } 
     console.log("Number of rows: "+results.length); 
     console.log(results); 
     client.end(); 
    }); 

및 오류 : 당신이 당신의 package.json 파일의 종속성

"mysql": "2.0.x || 2.1.x", 

를 추가해야

module.js:340 
throw err; 
    ^
Error: Cannot find module 'mysql' 
at Function.Module._resolveFilename (module.js:338:15) 

답변

1

, 그런 다음 수행하십시오

npm install 

Appfog의 documentation here을 확인할 수 있습니다. 종속성 관리에 대한 절이 있습니다.

+0

많은 의견 감사합니다. – colo

1

Appfog에는 노드에 종속성을 설치하는 표준 방법 인 NPM이 지원됩니다.

npm install mysql 콘솔을 사용하거나 package.json 파일에 mysql을 추가하고 npm install을 수행 할 수 있습니다.

두 번째 방법은 앱의 모든 종속성을 자동으로 설치합니다.

출처 : https://docs.appfog.com/languages/node#node-dep-mgmt

+0

많은 분들께 감사드립니다. – colo

1

안녕하세요 방금이 만들고, AppFog 패널의 "서비스"섹션으로 이동 그 후 컴퓨터에 NPM 명령을 가능하게 로컬 Node.js를 다운로드하여 설치해야 당신이 MySQL의 서비스 (VCAP_SERVICES)

서비스에 서비스를 제공하고 바인딩하면 AppFog는 VCAP_SERVICES라는 환경 변수를 만듭니다.

이 변수에는 바인딩 된 서비스에 대한 모든 자격 증명 및 연결 정보 목록이있는 JSON 문서가 들어 있습니다.

{"mysql-5.1":[ 
{ 
    "name":"mysql-4f700", 
    "label":"mysql-5.1", 
    "plan":"free", 
    "tags":["mysql","mysql-5.1","relational"], 
    "credentials":{ 
     "name":"d6d665aa69817406d8901cd145e05e3c6", 
     "hostname":"mysql-node01.us-east-1.aws.af.cm", 
     "host":"mysql-node01.us-east-1.aws.af.cm", 
     "port":3306, 
     "user":"uB7CoL4Hxv9Ny", 
     "username":"uB7CoL4Hxv9Ny", 
     "password":"pzAx0iaOp2yKB" 
    } 
}, 
{ 
    "name":"mysql-f1a13", 
    "label":"mysql-5.1", 
    "plan":"free", 
    "tags":["mysql","mysql-5.1","relational"], 
    "credentials":{ 
     "name":"db777ab9da32047d99dd6cdae3aafebda", 
     "hostname":"mysql-node01.us-east-1.aws.af.cm", 
     "host":"mysql-node01.us-east-1.aws.af.cm", 
     "port":3306, 
     "user":"uJHApvZF6JBqT", 
     "username":"uJHApvZF6JBqT", 
     "password":"p146KmfkqGYmi" 
    } 
} 
]} 

당신은 환경 변수를 호출 할 앱의 언어 별 기능을 사용할 수 있습니다

여기에 그 바인드 두 MySQL 데이터베이스 서비스를 제공 응용 프로그램에 대한 환경 변수의 예입니다.자바에서

: 루비에서

java.lang.System.getenv("VCAP_SERVICES") 

: 자바 스크립트에서

ENV['VCAP_SERVICES'] 

: 파이썬에서

process.env.VCAP_SERVICES 

:

os.getenv("VCAP_SERVICES") 

PHP :

getenv("VCAP_SERVICES") 
+0

이 링크 (https://docs.appfog.com/services/mysql)에는 AppFog에 MySQL을 설정하는 방법에 대한 강력한 문서가 있습니다. – d1jhoni1b

관련 문제