【问题标题】:My custom NPM Package is not found找不到我的自定义 NPM 包
【发布时间】:2014-04-12 04:52:16
【问题描述】:

遇到了非常奇怪的问题。基本上我决定创建自己的 npm 包,并将其发布到世界各地。在开发过程中,我将它作为一个简单的节点模块进行测试,并且能够使用下一个代码来使用它:

var r = require('./lib/%mymodulename%');

当然是在 lib 文件夹中。

现在,我将它组织成一个 npm 包,然后我的 package.json 如下所示:

{
  "name": "mymodulename",
  "author": "xxx",
  "description": "xxx",
  "version": "0.0.1",
  "homepage": "xxx",

  "repository": {
    "type": "git",
    "url": "xxx"
  },

  "main": "/lib/mymodulename.js",

  "scripts": {
    "install":"node install.js"
  },

  "dependencies": {},
  "engines": {
    "node": ">=0.9"
  }

}

当我尝试通过 npm install . -g 对其进行测试时,它已成功安装并且我可以通过以下方式查看我的本地模块:

npm ls -g

但是,当我尝试在节点文件中使用它时:

var r = require('mymodulename')npm 找不到。

我认为我遗漏了一些非常小的东西,但找不到什么。

谢谢, -D

【问题讨论】:

  • > 这些主要是出于历史原因。强烈建议您将依赖项本地放置在 node_modules 文件夹中。它们将被更快、更可靠地加载。 nodejs.org/api/…
  • 我怀疑您缺少 index.js 作为模块的一部分。看看这里的“目录作为模块”book.mixu.net/node/ch8.html
  • main 必须包含相对路径。尝试删除前导 /。注意:你必须在包根目录下lib/mymodulename.js有一个js文件。
  • @MerynStol 你是对的:) 非常感谢!

标签: node.js npm


【解决方案1】:

好的!感谢您的回答。

这完全是我的错,从来没有把/ 换成main

就我而言,我得到了:

 "main": "/lib/mymodulename.js",

它应该是:

 "main": "lib/mymodulename.js",

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-04
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2016-06-16
    • 1970-01-01
    相关资源
    最近更新 更多