aligator
,第二个名为 aligator-methods
。第二个模块依赖于第一个模块来工作。我同时开发这两个模块,并且想要像在 npm 注册表上一样全局链接 aligator
,以便我可以像全局安装它一样使用它。NPM 文档说我需要使用 npm link
来实现此目的,但它并没有起作用。
aligator
模块的 package.json
文件:{
"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"
}
}
模块 aligator-methods
的文件 package.json
:
{
"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"
}
}
首先我将该模块进行全局链接:
$ cd ~/aligator
$ npm link
/usr/local/lib/node_modules/aligator -> /Users/roc/aligator
如果我没弄错的话,这已经在我的模块aligator
中创建了一个全局引用,现在我可以从任何我想要的地方在计算机上使用这个模块。
然后我去了另一个模块并尝试安装依赖项,但是它给了我这个输出:
$ 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
我甚至尝试直接链接它:
$ cd ~/aligator-methods
$ npm link aligator
/Users/roc/aligator-methods/node_modules/aligator -> /usr/local/lib/node_modules/aligator -> /Users/roc/aligator
但它也没起作用。
你有什么想法,可能是因为什么而发生了这种情况吗? 我在某个地方读到可能与我安装的Homebrew制作的node和npm有关,所以有时需要使用sudo
,尽管这似乎不太可能,但我尝试了他们提出的建议,但也没有效果。
aligtor
,而你在第二个模块中试图引用它作为aligator
。这可能会导致你的依赖关系崩溃。 - Bruno Toffolopackage.json
中的main
问题,感谢您更新答案并提供解决方法! - mattybpackage_locks
和node_module
文件夹。 - E.Z.