package.json中的本地依赖

我想要做这样的事情,所以npm install也会安装../somelocallibpackage.json ,或者更重要的是它的依赖。

"dependencies": {
    "express": "*",
    "../somelocallib": "*"
}

2014年9月更新

该功能在npm的2.0.0版本中实现。 例:

{
  "name": "baz",
  "dependencies": {
    "bar": "file:../foo/bar"
  }
}

以下任何路径也是有效的:

../foo/bar
~/foo/bar
./foo/bar
/foo/bar

本地软件包将被复制到前缀( ./node-modules )。


老答案

正常情况下,将somelocallib作为依赖项放在package.json中:

"dependencies": {
  "somelocallib": "0.0.x"
}

然后运行npm link ../somelocallib将安装你正在使用的版本作为符号链接。

app@0.0.1 /private/tmp/app
└── somelocallib@0.0.1 -> /private/tmp/somelocallib

参考:link(1)


现在可以直接在package.json指定本地节点模块安装路径。 从文档:

本地路径

从版本2.0.0开始,您可以提供包含包的本地目录的路径。 本地路径可以使用以下任何一种形式使用npm install -Snpm install --save进行保存:

../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/"
}
链接地址: http://www.djcxy.com/p/27677.html

上一篇: Local dependency in package.json

下一篇: Is there a way to get version from package.json in nodejs code?