我想要做这样的事情,所以npm install
也将安装package.json
的../somelocallib
或更重要的是它的依赖。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
我想要做这样的事情,所以npm install
也将安装package.json
的../somelocallib
或更重要的是它的依赖。
"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
在你的依赖package.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 install -S
或npm 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/"
}
如果您想进一步自动化这一点,因为你正在检查你的模块版本控制,又不想依靠开发者记得要NPM链接,你可以添加到您的package.json“脚本”部分:
"scripts": {
"postinstall": "npm link ../somelocallib",
"postupdate": "npm link ../somelocallib"
}
这种感觉超出了哈克,但它似乎“工作”。 得到了这个NPM发出提示: https://github.com/isaacs/npm/issues/1558#issuecomment-12444454
这是你如何将添加本地依赖性:
npm install file:src/assets/js/FILE_NAME
添加从NPM到的package.json:
npm install --save file:src/assets/js/FILE_NAME
直接添加到的package.json是这样的:
....
"angular2-autosize": "1.0.1",
"angular2-text-mask": "8.0.2",
"animate.css": "3.5.2",
"LIBRARY_NAME": "file:src/assets/js/FILE_NAME"
....
一个完整的本地开发两个步骤:
我知道, npm install ../somelocallib
作品。
但是,我不知道你在问题中显示的语法是否会从工作package.json
...
不幸的是, DOC似乎只提URL作为一个依赖。
尝试file:///.../...tar.gz
,指着一个压缩本地的lib ...并告诉我们,如果它的工作原理。
这为我工作:第一,要确保故宫目录有正确的用户
sudo chown -R myuser ~/.npm
sudo chown -R myuser /usr/local/lib/node_modules
然后你在你的package.json链接目录
"scripts": {
"preinstall": "npm ln mylib ../../path/to/mylib"
},
"dependencies": {
"mylib" : "*"
}
好奇.....至少在Windows(我的NPM是3.something)我需要做的:
"dependencies": {
"body-parser": "^1.17.1",
"module1": "../module1",
"module2": "../module2",
当我做了一个npm install ../module1 --save
它导致绝对路径和每个文件不相对的。
我搞砸周围多一点,并确定../xxx
就足够了。
具体来说,我在本地节点模块检查出来说d:\建立\模块1,d:\建立\模块2和d我的节点工程(应用程序):\建立\ nodeApp。
要“安装”,我:
d:\build\module1> rmdir "./node_modules" /q /s && npm install
d:\build\module2> rmdir "./node_modules" /q /s && npm install
d:\build\nodeApp> rmdir "./node_modules" /q /s && npm install
模块1的的package.json有“模块2”的依赖:” ../module2" ; 模块2没有本地的依赖; nodeApp具有依赖性 “模块1”: “../module1" 和 ”模块2“:” ../module2" 。
不知道是否因为所有3个文件夹(模块1,模块2和nodeApp)对我来说这只能坐在同一水平.......
其实,NPM 2.0的,有支持现在本地路径(见这里 )。