Ich entwickle zwei Module für NodeJS, das erste mit dem Namen aligator
und das zweite mit dem Namen aligator-methods
. Der zweite hängt davon ab, ob der erste arbeitet. Ich entwickle diese beiden Module gleichzeitig und möchte eine globale Verknüpfung herstellen, aligator
damit ich sie so verwenden kann, wie sie sich in der npm-Registrierung befindet, und ich habe sie gerade global installiert. Um dies zu tun, sagt NPM-Dokumentation, dass ich verwenden muss, npm link
aber es funktioniert nicht.
Datei package.json
des Moduls 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"
}
}
Datei package.json
des Moduls 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"
}
}
Zunächst habe ich das Modul global verknüpft:
$ cd ~/aligator
$ npm link
/usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Wenn ich mich nicht irre, wurde eine globale Referenz meines Moduls erstellt, aligator
und jetzt kann ich dieses Modul von überall im Computer verwenden.
Dann ging ich zum anderen Modul und versuchte, die Abhängigkeit zu installieren, aber es gab mir diese Ausgabe:
$ 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
Ich habe sogar versucht, es direkt zu verknüpfen mit:
$ cd ~/aligator-methods
$ npm link aligator
/Users/roc/aligator-methods/node_modules/aligator -> /usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Aber es hat auch nicht funktioniert.
Irgendwelche Gedanken darüber, was passieren könnte? Ich habe irgendwo gelesen, dass es vielleicht etwas mit meiner Installation von Node und Npm zu tun hat, weil es von Homebrew erstellt wurde und ich es manchmal verwenden sudo
muss. Es schien unwahrscheinlich, aber ich habe versucht, was sie vorgeschlagen haben, und es hat auch nicht funktioniert.
aligtor
und Sie versuchen, im zweiten Modul auf ihn zu verweisenaligator
. Dies kann auch zum Absturz Ihrer Abhängigkeit führen.