Meteor无法找到本地npm模块

时间:2018-01-26 10:19:08

标签: meteor npm packages importerror

我正在开发一些与我的Meteor应用程序并行的npm软件包。

第一个已完成,它的测试和构建正在运行,没有错误。

我想使用本地路径在我的流星项目(rgdal)中安装我的包(mypackage):

myproject

请注意,它存在于Meteor项目之外的cd myproject meteor npm install --save ../lib/mypackage 文件夹中。这似乎安装了包,因为它输出

lib

当查看node_modules文件夹时,它也存在,但它只作为(soft?)链接:

+ mypackage@0.0.1
added 1 package in 12.475s

出现问题:运行我的项目或测试时,我收到以下行的错误:

cd node_modules && ls -la | grep mypackage
lrwxr-xr-x    1 user  group     22 26 Jan 11:02 mypackage -> ../../lib/mypackage

错误是:

import { SomeClass } from 'mypackage';

我尝试使用绝对路径来解决这个问题,但它没有帮助。有人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:1)

有一个特殊的npm功能,用于执行此操作,称为npm link

它允许您优先使用本地软件包而不是已发布的版本。您首先需要在包源本身内部npm link(以使其可用)

然后在您的项目中再次执行此操作,但命名包,例如npm link my-package

此处提供更多信息:

https://docs.npmjs.com/cli/link

答案 1 :(得分:0)

我最近使用了mui-rte npm软件包,我需要进行一些更改,因此将其分叉并尝试在本地安装。以下是使其生效的步骤。

  1. 转到mui-rte本地文件夹,运行npm run build

  2. mui-rte文件夹中,运行npm link

  3. 转到项目文件夹,运行npm link mui-rte

有效。感谢@Mikkel提供的链接。 @Jankapunkt我也在用流星。