【问题标题】:Can't resolve a local npm module made by npm pack无法解析由 npm pack 制作的本地 npm 模块
【发布时间】:2019-09-23 15:25:26
【问题描述】:

我使用npm pack创建了一个本地模块,它创建了一个包:“org-header-0.0.3.tgz”

在一个 React 项目中,我将org-header 添加到它的package.json

"dependencies": {
  "org-header": "file:[path-to-org-header]/org-header-0.0.3.tgz",
 ...
}

它安装得很好。但是,当我尝试使用它时:

import Header from 'org-header';

...

但是当我做npm run start:

Failed to compile.

./src/components/Layout.js
Module not found: Can't resolve 'org-header' in '/Users/imyjimmy/***/src/components'

可能是因为:

  1. 我没有正确构建 org-header 项目
  2. Webpack 做了一些奇怪的事情
  3. 两者都有?

【问题讨论】:

    标签: node.js npm webpack node-modules


    【解决方案1】:

    前几天我也遇到了同样的问题。如果有帮助,请在此处发布我的解决方案。

    所以我正在通过

    在我的主项目(项目 A)中测试本地依赖项(项目 B)更新
    1. npm pack --> 生成tgz 文件
    2. 如上述问题所示,参考项目 A 的 package.json 中的 tgz 文件
    3. 在项目A中运行npm install解压包——安装正常
    4. npm develop 时遇到以下错误
    Generating development JavaScript bundle failed
    Can't resolve 'project B' in '/Users/xxx@xxx.com/projectA/src/pages'
    

    此错误表明包 Project A 不存在。 这很奇怪,因为当我运行npm list project B 时,我实际上得到了它存在的确认。

    解决方案是再次显式安装项目 B,例如npm install project B,而不是在步骤 3 中更改 package.json 后运行 npm install

    我不知道是不是 webpack 被 2 个包弄糊涂了,但解决方案解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多