我有一个应用程序,它对依赖项下的package.json文件中指定的第三方模块(例如'express')具有通常的依赖关系。例如"express" : "3.1.1"我想模块化地构建我自己的代码,并且有一组本地(意思是我当前在文件系统上)的模块由package.json安装。我知道我可以通过运行来安装本地模块:npm install path/to/mymodule但是,我不知道如何通过package.json依赖项结构实现这一点。使用--save此命令中的选项只是放入"mymodule": "0.0.0"我的package.json(不引用文件路径位置)。如果我然后从node_modules中删除已安装的版本,并尝试从package.json重新安装,它将失败(因为它在中央注册表中查找“mymodule”,并且看起来不是本地的)。我确信这是一种告诉"dependencies": {}结构我希望从文件系统路径安装它的方法,但不知道如何。还有其他人有这个问题吗?谢谢。
3 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
从NPM 2.0.0开始,本机支持导入本地依赖项。danilopopeye在回答类似问题时记录了这一点。我在这里复制了他的回复,以帮助任何需要找到正确答案的人,因为这个问题在Google的搜索结果中排名很高。
此功能是在npm的2.0.0版本中实现的。例如:
{
"name": "baz",
"dependencies": {
"bar": "file:../foo/bar"
}
}
以下任何路径也有效:
../foo/bar
~/foo/bar
./foo/bar
/foo/bar
慕沐林林
TA贡献2016条经验 获得超9个赞
我最终找不到一个简洁的方法,所以我去创建一个名为的目录local_modules,然后在脚本 - > preinstall中将这个bashscript添加到package.json中
#!/bin/sh
for i in $(find ./local_modules -type d -maxdepth 1) ; do
packageJson="${i}/package.json"
if [ -f "${packageJson}" ]; then
echo "installing ${i}..."
npm install "${i}"
fi
done
- 3 回答
- 0 关注
- 3918 浏览
添加回答
举报
0/150
提交
取消