2012-10-30 24 views
5

Im sử dụng nút v0.6.12fs.exists phương pháp doesnt tồn tại nữa trong Node.js

Đây là mã của tôi:

var fs = require("fs"); 

fs.exists(".", function() { 
    console.log("Whatever); 
}); 

tôi nhận được kết quả này:

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
TypeError: Object #<Object> has no method 'exists' 
    at Object.<anonymous> (/home/dbugger/Projects/nodetest/test.js:3:4) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:32) 
    at Function._load (module.js:308:12) 
    at Array.0 (module.js:479:10) 
    at EventEmitter._tickCallback (node.js:192:41) 

Có " tồn tại "không được chấp nhận? Tôi có thể sử dụng cái gì sau đó?

+1

Phiên bản nào của nút bạn đã kiểm tra? Bao gồm kết quả của 'console.log (process.version);' - Trong 0.8.14, ['fs.exists'] (http://nodejs.org/api/fs.html#fs_fs_exists_path_callback) tồn tại. nhưng tôi cũng nhớ rằng trong 0.6.16 nó được đặt tên là 'path.exists'. –

+0

Im sử dụng v0.6.12: Ive đã thử fs.path.exists, nhưng nó cũng không hoạt động. –

Trả lời

6

Bạn có thể sử dụng path.exists() nhưng không được dùng nữa trong phiên bản mới nhất của nút. Api ưa thích là fs.exists() những ngày này, vì vậy bạn sẽ cần chuẩn bị để chuyển đổi tại một số điểm.

$ node --version 
v0.8.3 

$ node 
> require('fs').exists 
[Function] 
> require('path').exists 
[Function: deprecated] 

Các tài liệu liên quan:

2

Phiên bản nút của bạn là gì? Tôi nhận được kết quả tương tự trên máy tính của tôi (v0.6.14). Tôi nghĩ phương pháp exists() đã được di chuyển từ mô-đun path đến mô-đun fs gần đây. Hãy thử path.exists()

+0

Im sử dụng v0.6.12. Ive đã thử "fs.path.exists" và điều đó không hoạt động hoặc –

+0

Không phải 'fs.path.exists'. đường dẫn là một mô-đun riêng biệt. 'var path = require ('path'); path.exists ('.', function (... ' –

1

Ok, nâng cấp lên phiên bản mới nhất của nút (0.8.12) đã giải quyết được vấn đề. Cảm ơn :)

0

Tôi cũng có cùng một vấn đề trong Raspberry Pi. Vì nếu chúng tôi chỉ chạy

sudo apt-get install nodejs npm 

điều này sẽ không cài đặt phiên bản NodeJ mới nhất. Để cài đặt phiên bản NodeJ mới nhất chạy lệnh này

# Note the new setup script name for Node.js v0.10 
    curl -sL https://deb.nodesource.com/setup_0.10 | sudo bash - 

    # Then install with: 
    sudo apt-get install -y nodejs 

Đừng cố gắng cài đặt Node.js v0.12 trên Raspberry Pi. Có một vấn đề chưa được giải quyết vẫn còn đó (https://raspberrypi.stackexchange.com/questions/24059/node-js-v0-11-14-exits-with-illegal-instruction)

Nếu phương pháp trên không hiệu quả, hãy làm theo này một https://learn.adafruit.com/node-embedded-development/installing-node-dot-js

Các vấn đề liên quan