Node.js: 使用 npm -g 安装后找不到模块
Node.js: module not found after installing it with npm -g
我已经使用
安装了 tar-模块
npm install -g tar
当我打字时
npm list -g --depth=0
我可以在模块树中看到条目 tar@6.1.0
,但是当我尝试在 js 文件 const tar = require("tar")
中要求它时,我收到错误消息
Uncaught Exception:
Error: Cannot find module 'tar'
我错过了什么?
这里的问题是您试图在本地项目中使用全局安装的东西。如果您使用 npm i tar
.
在项目中安装它们,您应该能够使用它们
我们在全球安装某些东西的原因是为了在许多项目的开发过程中使用。这样,我们就不必在每个项目上都安装一个工具。但是,对于您想在项目代码中使用的东西,您应该在项目级别安装它。这样,项目需要工作的一切都存在于项目本身中。您应该会看到 package.json 文件
中列出的所有依赖项
不建议你这样做,但如果你真的想包含全局安装的库,你可以这样做:
require('./../../.npm-global/lib/node_modules/tar'); // Relative path to library
将文件目录上移到 $HOME 目录,进入节点的默认全局安装位置并将其引入。这是不好的做法,请不要这样做,但这是信息 none-少。
我已经使用
安装了 tar-模块npm install -g tar
当我打字时
npm list -g --depth=0
我可以在模块树中看到条目 tar@6.1.0
,但是当我尝试在 js 文件 const tar = require("tar")
中要求它时,我收到错误消息
Uncaught Exception:
Error: Cannot find module 'tar'
我错过了什么?
这里的问题是您试图在本地项目中使用全局安装的东西。如果您使用 npm i tar
.
我们在全球安装某些东西的原因是为了在许多项目的开发过程中使用。这样,我们就不必在每个项目上都安装一个工具。但是,对于您想在项目代码中使用的东西,您应该在项目级别安装它。这样,项目需要工作的一切都存在于项目本身中。您应该会看到 package.json 文件
中列出的所有依赖项不建议你这样做,但如果你真的想包含全局安装的库,你可以这样做:
require('./../../.npm-global/lib/node_modules/tar'); // Relative path to library
将文件目录上移到 $HOME 目录,进入节点的默认全局安装位置并将其引入。这是不好的做法,请不要这样做,但这是信息 none-少。