Node.js使用本地依赖
最近项目组写了几个模块,打算采用依赖的方式来使用它们。
因为敏感性问题,不打算发布到npm官方仓库;自行搭建一个npm仓库成本也大。
所以最后决定采用本地安装。
即在package.json中填写如下:
"dependencies": {
"module_a": "../module_a"
},
但是npm安装本地依赖,会有个bug。
比如现在有项目 myproject module_a module_b
myproject 依赖 module_a module_b
module_a 依赖 lodash(或者其他第三方依赖)
module_b 依赖 module_a lodash(或者其他第三方依赖)
那么在myproject执行npm i 的时候,会出现以下错误信息,无法安装成功
npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path /home/guohaoyun/workspace/test_local_dependence/myproject/node_modules/.staging/lodash-09e8142d
npm ERR! dest /home/guohaoyun/workspace/test_local_dependence/module_a/node_modules/lodash
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, rename '/home/guohaoyun/workspace/test_local_dependence/myproject/node_modules/.staging/lodash-09e8142d' -> '/home/guohaoyun/workspace/test_local_dependence/module_a/node_modules/lodash'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/guohaoyun/.npm/_logs/2021-05-19T14_30_34_266Z-debug.log
这里有两种解决方案:
本地依赖一个个安装
即在 myproject 一个个执行下面的指令
npm i ../module_a
npm i ../module_b将 module_a module_b 打包
执行cd module_a && npm pack和cd module_b && npm pack生成
module_a-1.0.0.tgz 和 module_b-1.0.0.tgz
然后更改 myproject的package.json"dependencies": {
"module_a": "../module_a-1.0.0.tgz",
"module_b": "../module_b-1.0.0.tgz"
}
最后和平时一样,执行
npm i即可
Node.js使用本地依赖的更多相关文章
- Node.js自动本地重启服务器
node.js在本地项目中,更新 了代码 是不会自动刷新 的,要重启才能生效,每次更改代码又手动重启这样很麻烦. 可以安装 个supervisor.全局安装supervisor npm install ...
- node.js连接本地数据库及json返回数据
新建一个文件夹node.js,目录下打开命令初始化一下 cnpm init 然后下载express框架 cnpm install express --save 接着下载数据库的依赖 cnpm inst ...
- Node.js的循环依赖
我们知道在实际编程过程中,要尽可能的减少或者规避循环依赖情况的发生.但在现实环境中,有时却不得不产生循环依赖.Node.js不提倡使用循环依赖,但真有如此情况发生时Node.js也有办法解决.这篇博文 ...
- 【node.js】本地模式安装express:'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。
今天闲来无事想起了node.js,因此到网上下载了一个node.js的安装程序进行安装.其中: 安装程序:node-v0.11.13-x64.msi PC系统:Windows 7 自定义安装路径:D: ...
- Node.js之循环依赖
在Node.js中有可能会出现循环依赖的问题,在此做一个简单的记录 假如有一个模块A: exports.loaded = false; const b = require('./b'); module ...
- 用node.js搭建本地服务器
我的第一篇笔记来写写node.js,我对node.js的并不是很了解,基本的项目路径变换还是会的.原先我下载node.js就是我想学vue.js,后来因为工作的繁忙搁浅了我的计划.最近在学习phase ...
- Node.js创建本地简易服务器
创建简易的本地服务器 安装node.js 在项目下,通过npm init -y创建package.json文件 通过npm install mime --save加载mime插件 创建server.j ...
- Node.js包的依赖及版本号(转)
原文: http://www.cnphp6.com/archives/64130 Node.js最重要的一个文件就是package.json,其中的配置参数决定了功能.例如下面就是一个例子 { &q ...
- 对Node.js 中的依赖管理的研究-----------------引用
nodejs依赖: dependencies devDependencies peerDependencies bundledDependencies optionalDependenc ...
随机推荐
- cf534D 枚举握手次数
题意: 有n个学生进教室,先后顺序不同,每个人进去后会和当前在教室里的人握手,并且记录人数,而且当教室里有超过三个人的时候 他们有可能组队去参加比赛,后来的人看不到他们. 思路: ...
- POJ1548最小路径覆盖
题意: 给你一个DAG,然后问你最少多少条路径能覆盖所有需要覆盖的点. 思路: 最小路径覆盖,太明显了,每个点向它右下方的点连边,然后...没啥难的地方,不说了. #inclu ...
- C++ STL 思维导图,脑图,树形图。
https://blog.csdn.net/weixin_41743247/article/details/90635931
- 【JavaScript】Leetcode每日一题-在D天内送包裹的能力
[JavaScript]Leetcode每日一题-在D天内送包裹的能力 [题目描述] 传送带上的包裹必须在 D 天内从一个港口运送到另一个港口. 传送带上的第 i 个包裹的重量为 weights[i] ...
- MVC三层架构的功能的简要说明
MVC 介绍 MVC: Model 模型 View 视图 Controller 控制器 M (Model) : 模型 功能 DAO层 : 对数据库进行操作(CRUD) Service层 : 处 ...
- PHP 通用格式化调试函数
/** * 打印调试函数 * @param $content * @param $is_die */function pre($content, $is_die = true){ header('Co ...
- 【opencv】Java实现opencv 调用本地摄像头,实现人脸识别、人形识别、人眼识别
本博客为老魏原创,如需转载请留言咨询. 效果预览:(没办法,为了效果只能上像了,丑别介意.哈哈..) 上代码: 1 package com.lw.test; 2 3 import java.awt.G ...
- 从刚毕业的5K测试到20K测试大佬,与薪资相匹配的永远是实力!
有个话题"软件测试的工资高还是开发者的工资高?"软件测试和软件开发门槛有差异,在职业起步阶段收入也会有一定的差异,这算是行业内公开的秘密.但随着工作年限的增加,经验的逐步积累,软件 ...
- python工业互联网应用实战14——单元测试覆盖率
前面的章节我们完成了任务管理主要功能的开发及单元测试编写,可如何知道单元测试效果怎么样呢?测试充分吗?还有没有没有测到的地方呢? 本章节我们介绍一个统计测试代码覆盖率的利器Coverage,Cover ...
- 推荐系统论文之序列推荐:KERL
KERL: A Knowledge-Guided Reinforcement Learning Modelfor Sequential Recommendation 摘要 时序推荐是基于用户的顺序行 ...