Tworzę dwa moduły dla NodeJS, pierwszy nazwany aligator
i drugi aligator-methods
. Drugi zależy od pierwszego do pracy. Rozwijam te dwa moduły w tym samym czasie i chcę mieć łącze globalne, aligator
aby móc go używać tak, jak w rejestrze npm i właśnie zainstalowałem go globalnie. Aby to zrobić, dokumentacja NPM mówi, że muszę użyć, npm link
ale nie działa.
Plik package.json
modułu 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"
}
}
Plik package.json
modułu 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"
}
}
Przede wszystkim podłączyłem moduł globalnie:
$ cd ~/aligator
$ npm link
/usr/local/lib/node_modules/aligator -> /Users/roc/aligator
To, jeśli się nie mylę, stworzyło globalne odniesienie do mojego modułu aligator
i teraz mogę używać tego modułu z dowolnego miejsca na komputerze.
Potem poszedłem do innego modułu i próbowałem zainstalować zależność, ale dało mi to takie wyjście:
$ 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
Próbowałem nawet połączyć to bezpośrednio z:
$ cd ~/aligator-methods
$ npm link aligator
/Users/roc/aligator-methods/node_modules/aligator -> /usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Ale to też nie zadziałało.
Jakieś przemyślenia na temat tego, co może się stać? Czytałem gdzieś, że może miało to coś wspólnego z moją instalacją node i npm, ponieważ zostało zrobione przez Homebrew, więc czasami muszę go użyć sudo
, wydawało się to mało prawdopodobne, ale wypróbowałem to, co zaproponowali i też nie zadziałało.
aligtor
i próbujesz odnieść się do niej w drugim module jakoaligator
. Może to również spowodować załamanie się zależności.