我想这样做,所以npm install也会安装这个包。Json的../somelocallib或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
我想这样做,所以npm install也会安装这个包。Json的../somelocallib或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
当前回答
NPM >= 2.0.0
该特性在npm 2.0.0版本中实现。本地路径可以使用npm install -S或npm install——save保存,使用以下任何一种形式:
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
示例package.json:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
npm ls:
app@0.0.1 /private/tmp/app
└── somelocallib@0.0.1 -> /private/tmp/somelocallib
NPM < 2.0.0
在包中放入somelocallib作为依赖项。正常的Json:
"dependencies": {
"somelocallib": "0.0.x"
}
然后运行npm link ../somelocallib和NPM会将你正在使用的版本作为符号链接安装。
参考:链接(1)
其他回答
用纱线可以这样做
纱线添加文件:../somelocallib
在2020年的这里,我正在用Windows 10操作系统工作
"dependencies": {
"some-local-lib": "file:../../folderY/some-local-lib"
...
}
然后进行npm安装。结果是在节点模块中创建文件夹的快捷方式。 这行不通。你需要一个硬链接-哪个窗口支持,但是 你必须在Windows中做一些额外的事情来创建一个硬符号链接。
因为我不是真的想要一个硬链接,我尝试使用一个url代替:
"dependencies": {
"some-local-lib": "file:///D:\\folderX\\folderY\\some-local-lib.tar"
....
}
这个很好用。 tar(你必须tar库的build / dist文件夹中的东西)被提取到node-modules中的一个真正的文件夹中,你可以像其他东西一样导入。 显然tar部分有点烦人,但由于'some-local-lib'是一个库(无论如何都要构建),我更喜欢这个解决方案,而不是创建一个硬链接或安装一个本地npm。
完整的纱线用户本地开发指南:
首先在主项目中添加依赖项:
cd main-project
yarn add file:../path/to/your-library
接下来,如果你想避免在每次改变它的源代码时重新构建这个依赖:
cd your-library
yarn link
这将注册一个到你的库的链接。接下来,使用刚刚在主项目中创建的链接。
cd main-project
yarn link your-library
现在,每次更改库中的代码时,您都不需要重新构建它,它将自动包含在主项目中。Yarn link的工作原理是在你的node_modules文件夹中创建符号链接,在这里阅读更多信息:https://classic.yarnpkg.com/lang/en/docs/cli/link/
NPM >= 2.0.0
该特性在npm 2.0.0版本中实现。本地路径可以使用npm install -S或npm install——save保存,使用以下任何一种形式:
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
示例package.json:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
npm ls:
app@0.0.1 /private/tmp/app
└── somelocallib@0.0.1 -> /private/tmp/somelocallib
NPM < 2.0.0
在包中放入somelocallib作为依赖项。正常的Json:
"dependencies": {
"somelocallib": "0.0.x"
}
然后运行npm link ../somelocallib和NPM会将你正在使用的版本作为符号链接安装。
参考:链接(1)
实际上,从npm 2.0开始,现在已经支持本地路径了。