2014-04-25 36 views
8

Tôi đang cố cài đặt các gói trong tệp package.json. Thật không may, khi tôi chạy npm install, không có gì xảy ra (không có gì được cài đặt). Tôi đã sử dụng npm install trên các bản repos khác và hoạt động thành công.npm cài đặt không cài đặt bất kỳ phụ thuộc

Đây là con đường của tôi:

$PATH = /Users/me/.rbenv/shims:/Users/me/.rbenv/bin:/usr/local/share/npm/bin:/usr/local/bin:/Applications/Postgres.app/Contents/MacOS/bin:/usr/bin:/bin:/usr/sbin:/sbin 

Như bạn thấy, npm/bin là trong phòng tắm của tôi và tôi tin rằng điều này là đúng.

Dưới đây là các hướng dẫn để repo này và nơi để chạy NPM cài đặt (mà tôi đang làm)

go into "module" 
run "npm install" 
pair your laptop/pc with intelligent brick troubleshoot: http://www.ev-3.net/en/archives/97 
run example.js: "node example.js" 
see "example.js" for more details 

Khi tôi chạy NPM cài đặt trong thư mục module (mà có package.json) không có gì cài đặt.

Đây là package.json:

{ 
    "name": "ev3-nodejs-bt", 
    "description": "Bt Api for lego ev3 robot", 
    "version": "0.0.4", 
    "private": false, 
    "dependencies": { 
    "serialport": "1.*" 
    }, 
    "main": "Ev3.js", 
    "devDependencies": {"serialport": "1.*"}, 
    "scripts": { 
    "test": "node Ev3.js" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/wenchaojiang/Ev3NodeJsBtAPI" 
    }, 
    "keywords": [ 
    "node.js", 
    "ev3", 
    "lego", 
    "robot", 
    "bluetooth" 
    ], 
    "author": "Wenchao Jiang <[email protected]> (http://wenchaojames.wordpress.com/)", 
    "license": "MIT", 
    "bugs": { 
    "url": "https://github.com/wenchaojiang/Ev3NodeJsBtAPI/issues" 
    } 
} 

Tôi đã một cái gì đó thiết lập sai trên hệ thống của tôi? (Tôi không nghĩ rằng tôi làm dựa trên $ PATH của tôi và cài đặt thành công các gói trong repos node-js khác) File package.json này không hợp lệ?

+3

JS nút và Legos? Hãy đăng ký cho tôi! – SomeKittens

+0

Sự phụ thuộc duy nhất tôi thấy là "cổng nối tiếp". Nội dung của thư mục 'node_modules' của bạn là gì? – Brandon

Trả lời

8

npm install không cài đặt (hoặc echo) bất cứ điều gì khi tất cả các phụ thuộc đều hài lòng. Đảm bảo có thư mục serialport trong số node_modules.

Nếu bạn muốn cài đặt lại tất cả mọi thứ, bạn chỉ cần loại bỏ các thư mục node_modules:

rm -r node_modules 
npm install 
+0

Rất tiếc, Không chắc tại sao các trích dẫn không được đưa vào khi tôi sao chép/dán. Trong tệp package.json của tôi, chúng có dấu ngoặc kép như bạn đã đề cập. Tôi vừa cập nhật tệp trong các câu hỏi. – HelloWorld

+0

Được rồi, JSONLint cho biết bạn đã có JSON hợp lệ và tôi có thể cài đặt 'npm install' bằng cùng package.json. Có thư mục 'node_modules' trong thư mục không? – SomeKittens

+0

Tôi đã chạy - đã lưu và hoạt động! – HelloWorld

1

Nếu bạn có một tập tin NPM-shrinkwrap.json, kiểm tra xem nó. Lệnh npm install sẽ chỉ cài đặt các gói được chỉ định trong tệp đó.

Theo npm install docs:

Nếu gói có một file shrinkwrap, việc cài đặt các phụ thuộc sẽ được thúc đẩy bởi đó.

Tôi đã gặp vấn đề tương tự với dự án của mình. Và khi tôi xem tập tin npm-shrinkwrap.json của mình, tôi thấy dependencies: {}. Vì vậy, đó là lý do tại sao nó không cài đặt bất cứ điều gì cho tôi.

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