已解决未解惑:mac中 eggjs框架下安装commitizen安装问题

问题描述:

mac中 eggjs框架下安装commitizen安装时,执行git cz时提示无法cz-conventional-changelog路径,并找不到该模块。

Could not resolve /Users/picoasis/node_modules/cz-conventional-changelog.
 Cannot find module '/Users/picoasis/node_modules/cz-conventional-changelog'

先上问题解决方法:

   求助了一位妮娅班班,使用了另外一种安装方法,成功安装的步骤(改动点在 9,方法来自git的文档https://github.com/commitizen/cz-cli)如下:

  1. mkdir server
  2. cd server
  3. npm init egg --type=simple
  4. npm install
  5. Sudo npm install -g commitizen//添加sudo
  6. Sudo npm install -g conventional-changelog//添加sudo
  7. Sudo npm install -g conventional-changelog-cli//添加sudo//添加sudo
  8. npm ls -g -depth=0 //检验安装成功
  9. echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
  10. //对代码添加一行console。Log
  11. Git add .
  12. Git cz//成功

问题虽然解决了,但是下面的困惑还是没有解开,有时间细读一下https://github.com/commitizen/cz-cli

问题分析:

猜测是之前在mac里设置了类似 环境变量,路径之类的东西,导致node_modules的路径解析没有到正确的位置,但是没有排查出来,在哪里做修改 ?

困惑点1:多次尝试中,有试着项目本地有安装commitizen,依据node_modules的查询路径,应该会先查找项目内部的node_modules,,但依然未被解析到,是为什么?

困惑点2: 使用ln -s做了软链接,加上之后,依然提示同样的报错。

ln -s /Users/picoasis/node_modules /Users/picoasis/Desktop/code/kaikeba_program/server/node_modules

问题复现步骤:

  1. mkdir server
  2. cd server
  3. npm init egg --type=simple
  4. npm install
  5. Sudo npm install -g commitizen//添加sudo
  6. Sudo npm install -g conventional-changelog//添加sudo
  7. Sudo npm install -g conventional-changelog-cli//添加sudo//添加sudo
  8. npm ls -g -depth=0 //检验安装成功
  9. Sudo commitizen init cz-conventional-changelog --save-dev --save-exact  //这一步执行结束后,控制台没有显示cz-conventional-changelog的安装成功信息,但是pakage.json中,已经存在:
  10. //对代码添加一行console。Log
  11. Git add .
  12. Git cz
  13. //报错 显示
Could not resolve /Users/picoasis/node_modules/cz-conventional-changelog.
 Cannot find module '/Users/picoasis/node_modules/cz-conventional-changelog'

 图1:控制台显示

图2:pakage.json文件

图3:控制台报错

猜你喜欢

转载自blog.csdn.net/lamanchas/article/details/107932718
今日推荐