我想做这样的事情,所以npm install
也安装。。/someLocallib
的package.json
,或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
这个特性是在NPM的2.0.0版本中实现的。示例:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
下列任何路径也是有效的:
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
本地包将复制到前缀(。/node-modules
)。
将someLocallib
作为依赖项放在包中。json
中:
"dependencies": {
"somelocallib": "0.0.x"
}
然后运行npm link.。/somelocallib
,npm将以符号链接的形式安装您正在使用的版本。
app@0.0.1 /private/tmp/app
└── somelocallib@0.0.1 -> /private/tmp/somelocallib
参考:链接(1)
现在可以直接在package.json
中指定本地节点模块安装路径。从文档中:
从2.0.0版本开始,您可以提供包含包的本地目录的路径。可以使用npm安装-s
或npm安装--保存
保存本地路径,使用以下任何形式:
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
在这种情况下,它们将被规范化为相对路径,并添加到package.json
中。例如:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
此功能有助于本地脱机开发和创建需要在您不希望命中外部服务器的地方安装npm的测试,但不应在将包发布到公共注册表时使用。
这对我管用。
将以下内容放入package.json文件中
"scripts": {
"preinstall": "npm install ../my-own-module/"
}