关于node.js:使用本地NPM软件包

 2021-04-26 

Using a local NPM package

我正在尝试使用从GitHub下载的NPM软件包,但没有运气。

我在create-react-app项目的src目录中创建了lib文件夹。

然后我用wget下载tarball

1
wget https://github.com/frontend-collective/react-image-lightbox/tarball/master/master.tar.gz

然后我更改了压缩包的名称

1
mv master.tar.gz react-image-lightbox-5.2.0.tar.gz

然后我使用NPM

安装了软件包

1
npm install ./src/lib/react-image-lightbox-5.2.0.tar.gz

在我的package.json中显示;

1
"react-image-lightbox":"file:src/lib/react-image-lightbox-5.2.0.tar.gz",

因此一切正常。

但是当我尝试使用以下方式导入软件包时:

1
import Lightbox from 'react-image-lightbox';

在执行npm run build

时收到以下错误消息

1
2
3
Cannot find module: 'react-image-lightbox'. Make sure this package is installed.

You can install this package by running: npm install react-image-lightbox.

我丢失了一些东西,但我不知道是什么。

任何帮助将不胜感激。


不必使用wgetmv从所需的GitHub手动获取代码。

您可以使用存储库的Git克隆URL安装存储库的主版本:

1
npm install --save https://github.com/frontend-collective/react-image-lightbox.git

生成的package.json文件将类似于以下内容:

1
2
3
4
5
6
7
{
 "name":"hello-world",
 "version":"0.0.1",
 "dependencies": {
   "react-image-lightbox":"git+https://github.com/frontend-collective/react-image-lightbox.git"
  }
}

然后您可以像使用常规软件包一样使用该软件包:

1
import Lightbox from 'react-image-lightbox';