我全局安装了一个包后,npm link 命令不起作用,但想在本地项目中运行该命令

问题描述 投票:0回答:1
  1. 我使用 npm i -gowsay 在全球范围内安装了一个软件包“cowsay”。
  2. 我在终端中以“cowsay hellooooo”的形式运行“cowsay”命令,它运行时没有任何错误生成输出:

< hellooooo >

    \   ^__^
     \  (oo)\_______
        (__)\       )\/\
            ||----w |
            ||     ||
  1. 在我的本地项目javascript文件中,我输入了代码constowsay = require(“cowsay”),当我尝试运行节点“index.js”时,再次产生错误: 找不到模块cowsay

  2. 最终使用命令node linkowsay,错误为:

*node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module 'F:\Web Development\JavaScript\Node\Jokester\link'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Module._load (node:internal/modules/cjs/loader:920:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v18.16.0*

我试图全局安装cowsay包并使用npm链接在我的本地项目中运行它但抛出以下错误:

*node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module 'F:\Web Development\JavaScript\Node\Jokester\link'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Module._load (node:internal/modules/cjs/loader:920:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v18.16.0*
npm node-modules npm-install npm-link
1个回答
0
投票

您遇到的问题源于不正确的

link
命令。

而不是

node link ...
运行
npm link ...

以下是链接全局安装的模块以在本地项目中使用的正确步骤:

  1. 全局安装
    cowsay
    模块:
npm install -g cowsay
  1. 在本地项目目录中,链接全局
    cowsay
npm link cowsay

注意 链接是使用

npm
cli 完成的,它使用
nodejs

这会将全局模块符号链接到本地节点模块文件夹中。

© www.soinside.com 2019 - 2024. All rights reserved.