NPM全局安装“找不到模块”

我写了一个模块,我刚才将其发布到npm(https://npmjs.org/package/wisp)

因此,可以从命令行进行安装:

$ npm i -g wisp

但是,当我从命令行运行它时,我不断收到未安装乐观主义者的错误消息:

$ wisp 
Error: Cannot find module 'optimist'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4)
    at Module._compile (module.js:449:26)
    at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)
    at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29)
    at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)

但是,我在package.json中指定了依赖性:

{
  "name": "wisp",
  "author": "Brendan Scarvell <bscarvell@gmail.com>",
  "version": "0.1.0",
  "description": "Global nodejs file server",
  "dependencies": {
    "optimist": "~0.3.4"
  },
  "repository": "git://github.com/tehlulz/wisp",
  "bin": {
    "wisp" : "./wisp"
  }
}

有谁知道该怎么做才能运行?我知道它与bin部分有关,将可执行文件添加到bin中,该目录中的node_modules为空。不知道如何解决这个问题。

逆天小宇宙2020/03/23 15:25:47

对于某些(如我)没有其他作用的尝试,请尝试以下操作:

brew cleanup
brew link node
brew uninstall node
brew install node

希望它可以帮助某人:)

Green猿2020/03/23 15:25:47

对于Windows,从Node.js无法在Windows上找到已安装的模块?对我有用的是运行npm link

npm link wisp
DavaidTony宝儿2020/03/23 15:25:47

缺省情况下,节点不在用于加载全局模块的/ usr / local / lib / node_module内部。请参阅http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders中说明的模块加载

因此,您必须1)将/ usr / local / lib / node_module添加到NODE_PATH并导出它,或者2)将已安装的节点模块复制到/ usr / local / lib / node。(如在加载模块节点的链接中所述,将在此路径中搜索并起作用)

Mandy村村2020/03/23 15:25:47

我收到“乐观主义者”模块错误,而我只是做了“ npm install”来解决它。越过了那个错误。

https://github.com/mbloch/mapshaper/issues/12

西里Near2020/03/23 15:25:47

以下通用修补程序适用于任何模块。例如使用request-promise

更换

npm install request-promise --global

npm install request-promise --cli

工作(来源globals以及inherits

另外,尝试设置环境变量

NODE_PATH=%AppData%\npm\node_modules