我正在开发一些与我的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';
我尝试使用绝对路径来解决这个问题,但它没有帮助。有人遇到过这个问题吗?
答案 0 :(得分:1)
有一个特殊的npm功能,用于执行此操作,称为npm link
它允许您优先使用本地软件包而不是已发布的版本。您首先需要在包源本身内部npm link
(以使其可用)
然后在您的项目中再次执行此操作,但命名包,例如npm link my-package
此处提供更多信息:
答案 1 :(得分:0)
我最近使用了mui-rte
npm软件包,我需要进行一些更改,因此将其分叉并尝试在本地安装。以下是使其生效的步骤。
转到mui-rte
本地文件夹,运行npm run build
在mui-rte
文件夹中,运行npm link
转到项目文件夹,运行npm link mui-rte
有效。感谢@Mikkel提供的链接。 @Jankapunkt我也在用流星。