我正在为NodeJS开发两个模块,第一个名为aligator,第二个名为aligator-methods.第二个取决于第一个.我正在同时开发这两个模块,我想全局链接aligator,这样我就可以像在npm注册表上一样使用它,我只是在全局范围内安装了它.为了完成这个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创建了一个全局引用,现在我可以在计算机中的任何地方使用这个模块.

然后我转到另一个模块,try 安装依赖项,但它给了我以下输出:

$ 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

但它也不起作用.

Any thoughts on what it is that could be happening?我在某个地方读到,它可能与我安装的nodenpm有关,因为它是brew 的,所以有时我需要使用sudo,这似乎不太可能,但我try 了他们提出的方法,但也没有成功.

推荐答案

问题是package.jsonmain属性指向一个不存在的文件.似乎这个问题可能是由多种原因造成的,所以一定要看看其他答案.

Node.js相关问答推荐

在Android Studio中react 本机构建失败:未正确检测到Node.js版本

Sequelize-测试使用虚拟场更新模型

当变量在另一个文件中初始化时,在初始化错误之前无法访问变量

mongodb首先自连接,然后根据某些条件与另一个表连接

是否可以在 NodeJS 代码库中的每个函数之前和之后添加 console.log?

如何在 node /快速服务器上配置 mongoDB

未捕获的错误: 只能用作 元素的子元素,永远不会直接呈现.请将您的 包裹在

使用 fs.createWriteStream 将数据写入 bigquery (node.js) 时出现模式错误

无法关闭 node.js 中的mongoose 连接

强制 TypeScript 生成带有.js扩展名的导出/导入;运行 node 16?

Mongodb聚合传递一个匹配的数组和一个不匹配的数组

多个 Axios 请求合并

提供静态文件到底是什么意思?

使用 Node.JS,如何按时间顺序获取文件列表?

AngularJS +sails.js

create-react-app,安装错误(找不到命令)

Node.js 中的 Streams3 是什么,它与 Streams2 有何不同?

node.js 示例

我可以让 node --inspect 自动打开 Chrome

node/nodemon 中是否有对 typescript 的源映射支持?