2012-04-10 11 views
1

node.jsアプリケーションでjQueryを使用しようとしています。 Can I use jQuery with Node.js?によれば十分に簡単だと思われますが、私がnpm install jQuery jsdom htmlparser xmlhttprequestを実行しようとしたときに、単にnpm install jQueryのどちらも私のために働かないようでした。ここで私が得たエラーメッセージの全文は次のとおりです。node.jsでjqueryをインストールしようとすると、エラーメッセージが表示される

$ npm install jQuery jsdom htmlparser xmlhttprequest 
npm http GET https://registry.npmjs.org/htmlparser 
npm http GET https://registry.npmjs.org/jQuery 
npm http GET https://registry.npmjs.org/xmlhttprequest 
npm http GET https://registry.npmjs.org/jsdom 
npm http 304 https://registry.npmjs.org/jsdom 
npm http 304 https://registry.npmjs.org/htmlparser 
npm http 304 https://registry.npmjs.org/xmlhttprequest 
npm http 200 https://registry.npmjs.org/jQuery 
npm http GET https://registry.npmjs.org/contextify 
npm http GET https://registry.npmjs.org/cssom 
npm http GET https://registry.npmjs.org/request 
npm http 304 https://registry.npmjs.org/contextify 
npm http 304 https://registry.npmjs.org/cssom 
npm http 304 https://registry.npmjs.org/request 
npm http GET https://registry.npmjs.org/bindings 
npm http 304 https://registry.npmjs.org/bindings 

> [email protected] install /Users/nicmeiring/node_modules/jsdom/node_modules/contextify 
> node-gyp rebuild 

info it worked if it ends with ok 
spawn python [ '/Users/nicmeiring/.node-gyp/0.6.14/tools/gyp_addon', 
    'binding.gyp', 
    '-I/Users/nicmeiring/node_modules/jsdom/node_modules/contextify/build/config.gypi', 
    '-f', 
    'make' ] 
ERR! Error: not found: make 
    at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:28) 
    at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29) 
    at Object.oncomplete (/usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16) 
ERR! not ok 
npm WARN optional dependency failed, continuing [email protected] 
[email protected] ./node_modules/xmlhttprequest 
[email protected] ./node_modules/jquery 
[email protected] ./node_modules/htmlparser 
[email protected] ./node_modules/jsdom 
├── [email protected] 
└── [email protected] 

私のNode.jsアプリケーションファイルでは(app.js)私は予想通り、var $ = require('jQuery)を使用してjqueryのモジュールが含まれていますが、ときに私は、エラーを返します私のアプリケーションでjQueryを使ってみてください。何が原因でインストールが失敗するのでしょうか?ありがとう

更新: jqueryモジュールが正常にインストールされましたが、私のアプリケーションを実行しようとすると新しいエラーが発生しています。

app.js

var express = require('express') 
    , routes = require('./routes') 
    , $ = require('jquery'); 

var app = module.exports = express.createServer(); 

// Configuration 

app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(require('stylus').middleware({ src: __dirname + '/public' })); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 

}); 

app.configure('development', function(){ 
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

app.configure('production', function(){ 
    app.use(express.errorHandler()); 
}); 

// Routes 

app.get('/', routes.index); 
app.get('/', routes.getData); 

app.listen(4000); 
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); 

とindex.js

var $ = require('jquery'); 

exports.index = function(req, res){ 
    console.log("rendering index.html") 
    res.render('layout', { title: 'Express' }) 
}; 


var link = "http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?" 

exports.getData = $.ajax({ 
         url: link, 
         dataType: JSON, 
         data: data, 
         success: function(data) { 
         console.log(data); 
         console.log(data.parse.text['*']); 
         } 
}); 

と、ここで私はアプリ

Nic-Meirings-MacBook-Pro:Wiki2 nicmeiring$ node app 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
ReferenceError: $ is not defined 
    at Object.<anonymous> (/Users/nicmeiring/Sites/Wiki2/routes/index.js:16:19) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:31) 
    at Function._load (module.js:308:12) 
    at Module.require (module.js:354:17) 
    at require (module.js:370:17) 
    at Object.<anonymous> (/Users/nicmeiring/Sites/Wiki2/app.js:7:14) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
+0

あなたがコンソールに「作る」と入力すると、あなたは何を参照ください:ここではSO関連の質問はありますか?これは私のUbuntuでノード0.6.14 – Mustafa

+0

でうまくいきます。あなたが入力した場所に "make"と入力する場所はどこですか? –

+0

...? – Mustafa

答えて

2
を起動したときに、私は取得していますエラーです:ここではスクリプトがあります

デベロッパーツールに付属している「make」が不足しているようです。

https://stackoverflow.com/a/1470005/337504

+0

ありがとうございます。それを確認してください。私はdeveloper.apple.comから正確に何をダウンロードするべきですか? –

+0

私はMacユーザーではありませんが、https://developer.apple.com/technologies/tools/ – Mustafa

+0

okありがとうございます。上記の私の更新されたコードをチェックしてもよろしいですか? –

関連する問題