gpt4 book ai didi

javascript - 运行 npm 全局安装包

转载 作者:数据小太阳 更新时间:2023-10-29 04:38:22 29 4
gpt4 key购买 nike

谁能解释一下 Node 的全局安装行为。这真的让我很困惑。如果我在全局安装一个包(带有可执行文件),例如 http-server,我可以运行它:

http-server

但如果我这样做

node http-server

我明白了

module.js:339
throw err;
^

Error: Cannot find module '/path/to/current/dir/http-server'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Function.Module.runMain (module.js:457:10)
at startup (node.js:136:18)
at node.js:972:3

我怀疑我在 emacs 中的 tern 包正在尝试使用 node 运行它,因此中断了。为什么会这样?为什么 Node 找不到它自己的模块的路径?

最佳答案

安装包有两种方式:全局本地
本地 安装的包文件最终位于您的本地 node_modules 中(在您调用 npm install some-package 的项目文件夹中)。
全局 安装的包文件最终会出现在您的系统中,因此它们可以在命令行中使用,如果全局安装的包提供可执行文件,那么您可以直接在命令行中调用它 some-package(没有 node),如果它不提供可执行文件,那么你可以在 repl 模式 (node) 中使用它,比如 var package = require('some-package') 并且它也可以在本地使用(在您的项目文件夹中,即使您没有在本地安装它)。

关于javascript - 运行 npm 全局安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34484536/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com