node npm install引用安装依赖包更改为私有库地址

本文档介绍了如何将bpmn.js库复制到公司私有仓库,以便于自定义配置和修改源码。首先建立私有库,然后将bpmn.js代码上传,并在项目中将package.json中的bpmn-js依赖指向私有库的特定版本分支,例如Branch_v8.8.3。完成这些步骤后,通过npm install即可确保项目引用的是私有库中的定制版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:项目使用了bpmn.js作为前端的流程引擎,但是需要更改配置文件和映射关系,或者直接修改源码,但是通过npm install安装的是默认的git 地址,于是就需要将bpmn.js拷贝一份到公司的私有库,然后前端引用的git的地址变为私有库的地址,好了

看效果

步骤如下

第一,建立自己的私有库(略过此步)

第二,将bpmn.js的代码上传到我们的私有库git的地址(此步略过)

第三,将项目引用的git的地址更改为私有库地址

1、看我们package.json中的配置

{
  "name": "bpmn",
  "version": "0.0.1",
  "description": "A process designerI",
  "keywords": [
    "bpmn",
    "bpmn.js",
    "vue"
  ],
  "repository": {
    ....
  },
  "scripts": {
    ...
  },
  "dependencies": {
    "bpmn-js-sketchy": "^0.5.3",
    "bpmn-js-task-resize": "^1.2.0",
    "bpmn-js-token-simulation": "^0.10.0",
    "core-js": "^3.8.1",
    "diagram-js-minimap": "^2.0.4",
    "highlight.js": "^10.5.0",
    "js-base64": "^3.7.2",
    "min-dash": "^3.5.2",
    "vue": "^2.6.11",
    "vue-router": "^3.4.9",
    "x2js": "^3.4.3",
    "xml-js": "^1.6.11"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.1",
    "@vue/eslint-config-prettier": "^5.0.0",
    "axios": "^0.21.1",
    "babel-eslint": "^10.1.0",
    "bpmn-js": "^8.8.3",
    "bpmn-js-properties-panel": "^0.37.2",
    "camunda-bpmn-moddle": "^4.4.1",
    "compression-webpack-plugin": "^6.1.1",
    "element-ui": "^2.13.2",
    "eslint": "^6.7.2",
    "eslint-plugin-prettier": "^3.1.0",
    "eslint-plugin-vue": "^6.2.2",
    "fs-extra": "^8.1.0",
    "sass": "^1.30.0",
    "sass-loader": "^8.0.2",
    "script-ext-html-webpack-plugin": "^2.1.5",
    "terser-webpack-plugin": "^4.2.3",
    "vue-template-compiler": "^2.6.11",
    "webpack-bundle-analyzer": "^3.9.0",
    "cross-env": "^7.0.3"
  },
  "eslintConfig": {
    ...
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ],
  "license": "Apache"
}

可以看到直接通过npm install的方式,默认是安装的是bpmn.js 8.8.3版本

所以,为了安全与稳定起见,我们项目也应该安装该版本的

于是,私有库建立该分支,命名为

Branch_v8.8.3

 同时,修改引用依赖

"bpmn-js": "git+http://xxxx/bpmn-js.git#Branch_v8.8.3",

具体如下 

{
  "name": "bpmn",
  "version": "0.0.1",
  "description": "A process designerI",
  "keywords": [
    "bpmn",
    "bpmn.js",
    "vue"
  ],
  "repository": {
    ....
  },
  "scripts": {
    ...
  },
  "dependencies": {
    "bpmn-js-sketchy": "^0.5.3",
    "bpmn-js-task-resize": "^1.2.0",
    "bpmn-js-token-simulation": "^0.10.0",
    "core-js": "^3.8.1",
    "diagram-js-minimap": "^2.0.4",
    "highlight.js": "^10.5.0",
    "js-base64": "^3.7.2",
    "min-dash": "^3.5.2",
    "vue": "^2.6.11",
    "vue-router": "^3.4.9",
    "x2js": "^3.4.3",
    "xml-js": "^1.6.11"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.1",
    "@vue/eslint-config-prettier": "^5.0.0",
    "axios": "^0.21.1",
    "babel-eslint": "^10.1.0",
    "bpmn-js": "git+http://xxxx/bpmn-js.git#Branch_v8.8.3",
    "bpmn-js-properties-panel": "^0.37.2",
    "camunda-bpmn-moddle": "^4.4.1",
    "compression-webpack-plugin": "^6.1.1",
    "element-ui": "^2.13.2",
    "eslint": "^6.7.2",
    "eslint-plugin-prettier": "^3.1.0",
    "eslint-plugin-vue": "^6.2.2",
    "fs-extra": "^8.1.0",
    "sass": "^1.30.0",
    "sass-loader": "^8.0.2",
    "script-ext-html-webpack-plugin": "^2.1.5",
    "terser-webpack-plugin": "^4.2.3",
    "vue-template-compiler": "^2.6.11",
    "webpack-bundle-analyzer": "^3.9.0",
    "cross-env": "^7.0.3"
  },
  "eslintConfig": {
    ...
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ],
  "license": "Apache"
}

最终,npm install,可以发现我们构建注入的依赖,node_modules如图,已经变成了我们私有库的地址,接下来我们就可以在Branch_v8.8.3分支上修改源码了

参考文章:
npm 安装私有 git 包 - 走看看

### 解决 `npm install` 出现未满足依赖项的方法 当遇到 `npm install` 报告存在未满足的依赖项时,通常是因为项目中的某些依赖关系未能正确解析或安装。以下是几种常见的解决方案: #### 1. 清除 npm 缓存并重新尝试安装 有时缓存可能会导致问题。清除 npm 的全局和本地缓存可以解决问题。 ```bash npm cache clean --force rm -rf node_modules/ npm install ``` 此操作会删除当前项目的 `node_modules` 文件夹,并强制清理 npm 的缓存后再执行一次完整的依赖安装过程[^1]。 #### 2. 更新 `package-lock.json` 或 `yarn.lock` 如果使用的是 yarn,则应更新 `yarn.lock`; 如果是 npm,默认情况下会有 `package-lock.json`. 这些锁定文件记录了确切版本号和其他元数据信息来确保一致性的构建环境。可以通过如下命令刷新锁文件: 对于 npm 用户: ```bash npm ci ``` 该指令会严格按照 `package-lock.json` 中定义的内容重建整个模块树结构而不做任何改动;它适用于 CI 流水线以及团队协作开发场景下保持一致性. #### 3. 检查 Node.jsNPM 版本兼容性 不同的库可能只支持特定范围内的 Node.js/NPM 版本组合。确认所使用的工具链版本是否符合预期需求非常重要。可通过查看官方文档了解目标软件包的具体要求。 #### 4. 使用 `-g|--global` 参数进行全局安装 (谨慎处理) 对于一些 CLI 工具来说,在根目录外通过添加 `-g` 或者 `--global` 标志来进行全局安装可能是必要的选项之一。然而需要注意这样做会影响其他项目共享相同的全局空间内已存在的同名组件实例[^3]: ```bash npm install -g some-cli-tool ``` 但是这种方法并不推荐用于常规的应用程序依赖管理当中,因为容易引发冲突并且不利于隔离不同应用之间的相互影响。 #### 5. 验证 `.npmrc` 设置 检查是否有不当配置存在于用户的个人配置文件(`~/.npmrc`)或是工作区级别的配置文件中(如:`./.npmrc`). 错误设置可能导致私有仓库认证失败等问题从而阻止正常下载所需资源.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值