Tôi đang phát triển hai mô-đun cho NodeJS, mô-đun đầu tiên được đặt tên aligator
và mô-đun thứ hai aligator-methods
. Cái thứ hai phụ thuộc vào cái thứ nhất để làm việc. Tôi đang phát triển hai mô-đun này cùng lúc và tôi muốn liên kết toàn cầu aligator
để tôi có thể sử dụng nó giống như trên sổ đăng ký npm và tôi vừa cài đặt nó trên toàn cầu. Để thực hiện điều này, tài liệu NPM nói rằng tôi cần sử dụng npm link
nhưng nó không hoạt động.
Tệp package.json
của mô-đun aligator
:
{
"name": "aligator",
"version": "0.0.1",
"description": "",
"main": "index.js",
"private": true,
"directories": {
"doc": "docs",
"example": "examples",
"test": "spec"
},
"scripts": {
"test": "gulp jasmine"
},
"license": "MIT",
"devDependencies": {
"gulp": "^3.6.2",
"gulp-jasmine": "^0.2.0",
"gulp-jshint": "^1.6.1",
"gulp-rename": "^1.2.0",
"jasmine-node": "^1.14.3"
},
"dependencies": {
"bluebird": "^1.2.4",
"lodash": "^2.4.1",
"mathjs": "^0.22.0"
}
}
Tệp package.json
của mô-đun aligator-methods
:
{
"name": "aligator-methods",
"version": "0.0.1",
"description": "",
"main": "index.js",
"private": true,
"directories": {
"doc": "docs",
"example": "examples",
"test": "jasmine"
},
"scripts": {
"test": "gulp jasmine"
},
"author": "",
"license": "MIT",
"devDependencies": {
"gulp": "^3.6.2",
"gulp-jasmine": "^0.2.0",
"gulp-jshint": "^1.6.1",
"gulp-rename": "^1.2.0",
"jasmine-node": "^1.14.3"
},
"dependencies": {
"lodash": "^2.4.1",
"mathjs": "^0.22.0",
"aligator": "^0.0.1"
}
}
Trước hết, tôi đã liên kết mô-đun trên toàn cầu:
$ cd ~/aligator
$ npm link
/usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Điều này nếu tôi không nhầm thì đã tạo ra một tham chiếu chung cho mô-đun của tôi aligator
và bây giờ tôi có thể sử dụng mô-đun này từ mọi nơi tôi muốn trong máy tính.
Sau đó, tôi đi đến mô-đun khác và cố gắng cài đặt phần phụ thuộc nhưng nó cho tôi kết quả này:
$ cd ~/aligator-methods
$ npm install
npm ERR! 404 404 Not Found: aligator
npm ERR! 404
npm ERR! 404 'aligator' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'aligator-methods'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.
npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/roc/aligator-methods
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.16
npm ERR! code E404
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/roc/aligator-methods/npm-debug.log
npm ERR! not ok code 0
Tôi thậm chí đã cố gắng liên kết nó trực tiếp với:
$ cd ~/aligator-methods
$ npm link aligator
/Users/roc/aligator-methods/node_modules/aligator -> /usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Nhưng nó cũng không hoạt động.
Bất kỳ suy nghĩ về những gì nó có thể xảy ra? Tôi đọc ở đâu đó rằng có lẽ nó liên quan đến việc cài đặt node và npm của tôi vì nó được tạo bởi Homebrew và vì vậy đôi khi tôi cần sử dụng sudo
, điều đó có vẻ khó xảy ra nhưng tôi đã thử những gì họ đề xuất và nó cũng không hoạt động.
aligtor
và bạn cố gắng tham khảo nó trong mô-đun thứ hai nhưaligator
. Điều đó cũng có thể làm cho sự phụ thuộc của bạn sụp đổ.