Estou desenvolvendo dois módulos para NodeJS, o primeiro nomeado aligator
e o segundo aligator-methods
. O segundo depende do primeiro para funcionar. Estou desenvolvendo esses dois módulos ao mesmo tempo e quero um link global aligator
para que possa usá-lo como se estivesse no registro npm e acabei de instalá-lo globalmente. Para fazer isso, a documentação do NPM diz que preciso usar, npm link
mas não está funcionando.
Arquivo package.json
do módulo 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"
}
}
Arquivo package.json
do módulo 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"
}
}
Em primeiro lugar, vinculei o módulo globalmente:
$ cd ~/aligator
$ npm link
/usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Isso se não me engano criou uma referência global do meu módulo aligator
e agora posso usar este módulo de qualquer lugar que eu quiser no computador.
Em seguida, fui para o outro módulo e tentei instalar a dependência, mas me deu esta saída:
$ 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
Eu até tentei vinculá-lo diretamente com:
$ cd ~/aligator-methods
$ npm link aligator
/Users/roc/aligator-methods/node_modules/aligator -> /usr/local/lib/node_modules/aligator -> /Users/roc/aligator
Mas também não funcionou.
Alguma ideia do que pode estar acontecendo? Eu li em algum lugar que talvez tenha algo a ver com a minha instalação de node e npm porque foi feito pelo Homebrew e então às vezes eu preciso usar sudo
, parecia improvável, mas tentei o que eles propuseram e não funcionou também.
aligtor
e você tenta se referir a ele no segundo módulo comoaligator
. Isso também pode fazer com que sua dependência falhe.