Vì vậy, tôi đang cố gắng khởi chạy ứng dụng nút của mình, nhưng có một vài lỗi phát sinh từ cài đặt MongoDB của tôi.npm install mongoose không thành công (lỗi kerberos và bson)
Sau đây là các thông số kỹ thuật cho môi trường dev của tôi:
node => 0.10.33 (cài đặt từ nodejs.org)
NPM => 1.4.28 (cài đặt từ nodejs .org)
git => 2.1.3 (homebrewed)
mongodb => 2.6.5 (homebrewed)
Nếu tạo sự khác biệt, tôi cũng đang sử dụng Mean Stack Skeleton như một phần của hướng dẫn.
Tóm lại, khi tôi cố gắng chạy ứng dụng nút của tôi sử dụng $ node app.js
, tôi nhận được thông tin phản hồi như sau:
USER$ npm install mongoose
> [email protected] install /Users/USER/APP/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
CXX(target) Release/obj.target/kerberos/lib/worker.o
CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
CC(target) Release/obj.target/kerberos/lib/base64.o
CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
SOLINK_MODULE(target) Release/kerberos.node
SOLINK_MODULE(target) Release/kerberos.node: Finished
> [email protected] install /Users/USER/APP/node_modules/mongoose/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bson/ext/bson.o
SOLINK_MODULE(target) Release/bson.node
SOLINK_MODULE(target) Release/bson.node: Finished
[email protected] node_modules/mongoose
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected], [email protected])
Tôi đã kiểm tra builderror.log
file cho cả kerberos
và bson
mô-đun. Tuy nhiên, cả hai đều trống.
Một số nghiên cứu tôi đã tìm thấy cho thấy vấn đề có thể là do cài đặt node-gyp
của tôi không có tệp binding.gyp
tương ứng.
Cũng thử chạy $ node-gyp configure
bên trong thư mục dự án Node.js của tôi. Và đây là lỗi tôi đã nhận được:
gyp: binding.gyp not found (cwd: /Users/USER/APP) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/node-gyp/lib/configure.js:343:16)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Darwin 12.5.0
gyp ERR! command "node" "/usr/local/bin/node-gyp" "configure"
gyp ERR! cwd /Users/USER/APP
gyp ERR! node -v v0.10.33
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
Mọi ý tưởng tại sao tôi gặp phải những vấn đề này?
EDIT: Sau khi cài đặt cổng trong tệp app.js
để đặt cổng cho cùng một cổng mà máy chủ Express đang nghe (duh), tôi nhận được nhiều phản hồi hơn cho biết rằng tôi đã sử dụng Mongoose 3.9.4, đó là bản phát hành không ổn định mới nhất của mongoose
. Vì vậy, tôi đặt mô-đun thành 3.8.18 trong số package.json
và cố gắng cài đặt lại mô-đun. Tôi đã nhận được các lỗi tương tự. Tuy nhiên, phản hồi phát hành không ổn định đã biến mất.
đơn giản, ngọt ngào, và làm việc cho tôi –
cảm ơn bạn rất nhiều – Shreyas