Tôi đang sử dụng khung Ionic để xây dựng các ứng dụng lai. Theo trang web chính thức, tôi cần tải phiên bản 4.2.4 của Node.js, bao gồm trình quản lý gói npm. Một trong những phụ thuộc cần thiết bởi Ionic là cordova để tôi chạy lệnh sau đây để có được nónpm cài đặt không hoạt động khi chạy npm install cordova
C:\Users\ferrero>npm install -g cordova
Sau đó, giao diện điều khiển bản ghi
npm info it worked if it ends with ok
npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
npm verb cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
npm verb cli 'prefix',
npm verb cli '-g' ]
npm info using [email protected]
npm info using [email protected]
npm verb exit [ 0, true ]
npm info ok
npm info it worked if it ends with ok
npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
npm verb cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm- cli.js',
npm verb cli 'install',
npm verb cli 'cordova' ]
npm info using [email protected]
npm info using [email protected]
npm verb config Skipping project config: C:\Users\ferrero/.npmrc.
(matches userconfig)
npm verb install initial load of C:\Users\ferrero\package.json
npm verb readDependencies loading dependencies from C:\Users\ferrero\package.json
npm verb cache add spec cordova
npm verb addNamed "latest" is being treated as a dist-tag for cordova
npm info addNameTag [ 'cordova', 'latest' ]
npm verb addNameTag registry:https://registry.npmjs.org/cordova not in flight; fetching
npm verb request uri https://registry.npmjs.org/cordova
npm verb request no auth needed
npm info attempt registry request try #1 at 16:47:06
npm verb request id 62f85abc5c5b7cd5
npm verb etag "6KQ69KRX02Y8MUJFT56H9DE6N"
npm http request GET https://registry.npmjs.org/cordova
npm info retry will retry, error on last attempt: Error: self signed certificate in certificate chain
Như bạn có thể nhìn thấy từ nhật ký, NPM chạy phiên bản 2.14 .12 và nó phàn nàn rằng nguyên nhân là chứng chỉ tự ký - có thể được phát hành bởi https://registry.npmjs.org/cordova. Vì vậy, để khắc phục vấn đề này, tôi chạy
npm config set registry=http://registry.npmjs.org
Và, sau đó (chỉ là một phần liên quan)
C:\Users\ferrero>npm install -g cordova
npm verb cache add spec cordova
npm verb addNamed "latest" is being treated as a dist-tag for cordova
npm info addNameTag [ 'cordova', 'latest' ]
npm verb addNameTag registry:http://registry.npmjs.org/cordova not in flight; fetching
npm verb request uri http://registry.npmjs.org/cordova
npm verb request no auth needed
npm info attempt registry request try #1 at 16:59:34
npm verb request id 359f93cb3aa8b76e
npm verb etag "6KQ69KRX02Y8MUJFT56H9DE6N"
npm http request GET http://registry.npmjs.org/cordova
npm http 304 http://registry.npmjs.org/cordova
npm verb headers {
date: 'Tue, 26 Jan 2016 18:59:34 GMT',
npm verb headers via: '1.1 varnish',
npm verb headers 'cache-control': 'max-age=300',
npm verb headers etag: '"6KQ69KRX02Y8MUJFT56H9DE6N"',
npm verb headers age: '263',
npm verb headers connection: 'keep-alive',
npm verb headers 'x-served-by': 'cache-atl6230-ATL',
npm verb headers 'x-cache': 'HIT',
npm verb headers 'x-cache-hits': '1',
npm verb headers 'x-timer': 'S1453834774.362657,VS0,VE1',
npm verb headers vary: 'Accept'
}
npm verb etag http://registry.npmjs.org/cordova from cache
npm verb get saving cordova to C:\Users\ferrero\AppData\Roaming\npm-cache\registry.npmjs.org\cordova\.cache.json
npm verb addNamed "5.4.1" is a plain semver version for cordova
npm verb addRemoteTarball http://registry.npmjs.org/cordova/-/cordova-5.4.1.tgz
not in flight; adding
npm verb addRemoteTarball [ 'http://registry.npmjs.org/cordova/-/cordova-5.4.1.tgz',
npm verb addRemoteTarball 'bc56bc1d3c5387a7926408212dfbce59002f9d76' ]
Lần này, nó không phàn nàn bất cứ điều gì khác. Thay vào đó, chỉ báo tải - ký tự ống - tiếp tục chạy và chạy. Vì vậy, tôi nên làm gì để tải xuống sự phụ thuộc như vậy?
Tôi không chắc nó có liên quan, nhưng bạn nên gõ NPM cài đặt cordova -g không chỉ NPM cài đặt cordova. Tôi biết có một số vấn đề với các phiên bản mới nhất của node/npm nhưng nó đã được sửa với cordova 5.4 và> tôi nghĩ vậy. Tôi vừa mới cài đặt một máy tính mới với phiên bản mới nhất của nút và không có vấn đề cài đặt cordova. – QuickFix
Theo ionic bắt đầu - http://ionicframework.com/getting-started/ -, nó đòi hỏi Node.js 4 vì "Node 5 không hoạt động vào lúc này!". Do đó, tôi đã tải xuống Node.js 4.2.4 –
@ArthurRonald Có thể thử 'npm uninstall -g cordova', sau đó' npm install -g npm', sau đó 'npm --loglevel info install -g cordova' và tại ít nhất nhìn thấy những gì đang gặp khó khăn? – heenenee