为什么npm“不需要”我的模块?

时间:2018-01-06 23:20:54

标签: javascript npm

我正在编写一个npm模块并在发布之前对其进行测试。我正在使用http://podefr.tumblr.com/post/30488475488/locally-test-your-npm-modules-without-publishing中描述的方法,但我甚至无法得到一个简单的模块。这是我的package.json:

{
  "name": "mystuff",
  "version": "0.0.1",
  "description": "",
  "main": "./lib/index",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "MIT"
}

这是我的愚蠢的简单index.js:

'use strict'

exports.test_call = function() {
  return "Hello Module"
}

我希望我可以简单地要求我的模块,但它失败了:

> require('mystuff')
Error: Cannot find module 'mystuff'
    at Function.Module._resolveFilename (module.js:327:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:355:17)
    at require (internal/module.js:13:17)
    at repl:1:1
    at REPLServer.defaultEval (repl.js:252:27)
    at bound (domain.js:281:14)
    at REPLServer.runBound [as eval] (domain.js:294:12)
    at REPLServer.<anonymous> (repl.js:417:12)
    at emitOne (events.js:83:20)

但是,看起来模块安装在我预期的位置,并且按预期工作:

> require('./node_modules/mystuff')
{ test_call: [Function] }
> require('./node_modules/mystuff').test_call()

为什么我无法要求模块?我错过了什么?

1 个答案:

答案 0 :(得分:0)

升级node和npm(到v9.3.0 / v5.5.1)后,这不再是一个问题。

相关问题