此篇文章是为了记录工作中遇到的所有与npm 相关的报错信息。之后遇到新的问题会继续更新。
npm 相关报错
1,unable to resolve dependency tree
翻译:无法解析依赖树。
原因:可能是依赖冲突。
解决:npm install --save XXX --legacy-peer-deps
本次问题是在安装 vue-i18n 的时候出现的。
修复上游依赖冲突,或使用--force 或--legacy-peer-deps 重试此命令以接受不正确(并且可能已损坏)的依赖解析
--legacy-peer-deps:安装时忽略所有peerDependencies,采用npm 4到6版本的风格.
--force:一个模块不管是否安装过,npm 都要强制重新安装,可以使用 -f 或 --force 参数.
还看到一个讲解 --legacy-peer-deps 的网站:npm install xxxx --legacy-peer-deps到底做了些什么?
2,npm run dev 显示 EPERM: operation not permitted
翻译:没有权限。
原因:不知道。
解决:在vscode中,重新启动了一个新终端,再次执行npm run dev,成功。
重现:
在拉取远程代码,解决冲突之后,重新执行 npm run dev 的时候出现如上错误。
网上的解决办法:
1,是因为权限问题,使用,管理员身份打开命令行,重新启动。这里没成功。
2,缓存问题导致,需要删除npmrc文件。
强调:不是nodejs安装目录npm模块下的那个npmrc文件
而是在C:\Users{账户}\下的.npmrc文件..
本地没有此文件。。。
3,文件,进程被占用。是运行在docker的php环境中的,nginx 和php-fpm在 docker中, 解决: 停止docker中的nginx 重新执行 npm run dev 就可以了 执行之后再start启动docker就可以了。
最后,本人的解决办法:
在vscode中,删除原终端,重新启动新终端,再次执行npm run dev,成功。
参考链接:
进程被占用
文件被占用
缓存问题导致 no permitted
权限问题
3,npm install 报错 tui-editor ——markdown 组件 下载问题
npm ERR! code 128
npm ERR! command failed
npm ERR! command git ls-remote ssh://git@github.com/nhn/raphael.git
npm ERR! git@github.com: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
翻译:无法从远程存储库读取。
原因:连接超时。
解决:使用cnpm 安装(npm install cnpm -g),或者打开加速器进行插件的安装。
当使用npm 或者 yarn 安装插件都超时时,可以选择改用国内镜像进行下载。
4,npm install 报错 vue-cli-service 不是内部或外部命令
这是一个常见的错误,
原因:
1)项目从远端拉取到本地之后,没有 执行 npm install,加载依赖包, 导致启动项目失败。
2)node_model 项目的依赖包损坏。
解决:
删除 node_model 文件,之后再次执行 npm install
使用插件:rimraf node_modules 快速删除 (npm install -g rimraf)
二,git 报错
1, LF will be replaced by CRLF in package.json
原因:
windos操作系统 和 Linux系统,换行符和回车符的编码不一致。
CRLF:Carriage-Return,回车符\r
LF:Line-Feed,换行符\n
warning: LF will be replaced by CRLF in readme.txt(警告:在**文件中,换行符会被替换为回车符)
在Windows环境中,换行符是CRLF,也就是\r\n,但是在Linux环境中,换行符是LF,也就是\n,但git在维护版本库的时候统一使用的是LF,这样就可以保证文件跨平台的时候保持致。但导致window下的换行符与git下不一致,这样就会弹出警告。
解决:
设置 git :
git config --global core.autocrlf true
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。