npm 安装错误代码 128
Posted
技术标签:
【中文标题】npm 安装错误代码 128【英文标题】:npm install error code 128 【发布时间】:2016-05-03 11:30:37 【问题描述】:在全新安装 Node 和 Git 后尝试运行 npm install
时收到以下错误
任何人都知道可能是什么原因造成的,以及如何解决它?
package.json
(已删除公司详细信息)
"name": "xxx",
"version": "1.0.0",
"description": "xxx",
"engines":
"node": "5.0.0",
"npm": "3.3.9"
,
"repository": "xxx",
"private": true,
"license": "UNLICENSED",
"dependencies":
"dijit": "https://github.com/dojo/dijit.git#1.10.4",
"dojo": "1.10.4",
"fg-dialog": "0.1.5",
"politespace": "0.1.4",
"shoestring": "1.0.3"
,
"devDependencies":
"body-parser": "^1.14.1",
"chalk": "^1.1.1",
"compression": "^1.6.0",
"del": "^2.0.2",
"dojo-util": "https://github.com/dojo/util.git#1.10.4",
"express": "^4.13.3",
"glob": "^5.0.15",
"gulp": "^3.9.0",
"gulp-concat": "^2.6.0",
"gulp-git": "^1.6.0",
"gulp-html-minifier": "^0.1.6",
"gulp-jsbeautifier": "^1.0.1",
"gulp-jshint": "^1.11.2",
"gulp-jshint-xml-file-reporter": "^0.5.1",
"gulp-jsonminify": "^1.0.0",
"gulp-replace": "^0.5.4",
"gulp-task-listing": "^1.0.1",
"gulp-uglify": "^1.4.1",
"gulp-util": "^3.0.6",
"gulp-zip": "^3.0.2",
"intern": "https://github.com/theintern/intern.git",
"jshint-stylish": "^2.0.1",
"merge-stream": "^1.0.0",
"minimist": "^1.2.0",
"open": "^0.0.5",
"q": "^1.4.1",
"request": "^2.65.0",
"require-dir": "^0.3.0",
"run-sequence": "^1.1.2",
"selenium-standalone": "^4.6.3"
,
"scripts":
"postinstall": "gulp install"
【问题讨论】:
可以分享一下package.json吗? 感谢您发布此内容。 【参考方案1】:我使用了 git Bash 而不是 cmd,它确实有效。
【讨论】:
您能检查一下您在每个环境中使用的节点和 npm 版本吗?【参考方案2】:我在 Windows 10 上也遇到了同样的错误,我通过使用以下 URL 在 GitHub 中再次添加 ssh 密钥来修复它:https://help.github.com/enterprise/2.13/user/articles/connecting-to-github-with-ssh/
要检查现有密钥,请使用以下命令:
-
打开 Git Bash。按 windows 按钮并搜索 Git Bash。
输入
ls -al ~/.ssh
以查看是否存在现有的 SSH 密钥
检查目录列表以查看您是否已经拥有公共 SSH 密钥。
如果存在关键文件,它将列出它们(使用默认文件名),例如:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
之后,您必须确保 ssh-agent 正在运行 您可以使用 eval $(ssh-agent -s) 命令运行 ssh-agent
在此之后,您必须使用以下命令添加此现有密钥:ssh-add ~/.ssh/id_rsa
现在添加文件后,您可以使用命令 clip < ~/.ssh/id_rsa.pub
获取剪贴板的密钥
前往 GitHub 站点并点击右上角的设置,然后将此 ssh 密钥添加到 gitHub。
重新启动命令提示符,错误将得到修复。
希望这会对某人有所帮助。
【讨论】:
【参考方案3】:删除 node_modules 文件夹并删除 package-lock.json 文件。然后运行以下命令,
npm 缓存清理 --force
npm 安装
【讨论】:
【参考方案4】:在我的例子中,我刚刚升级了 npm,并且 package-lock.json 试图从一个不可用的 git commit 版本安装项目的包之一。
删除并让 npm 重新创建文件 package-lock.json 解决了这个问题。
rm package-lock.json
注意: 看起来 package-lock.json 维护了有关 node_modules 树的更多详细信息,因此在复杂/特定于版本的项目中,隔离导致问题,而不是删除 package-lock.json 文件。
https://docs.npmjs.com/files/package-lock.json
【讨论】:
【参考方案5】:在windows中必须使用cmd作为管理员,或者在linux中添加sudo
【讨论】:
【参考方案6】:首先,我删除了位于c:\myUser\AppData\Roaming
中的npm
和npm-cache
目录。
然后,我执行了npm install -g npm
。这解决了我的问题。
【讨论】:
Mac 用户可能:***.com/questions/11177954/… 为我工作!谢谢你拯救了我的一天。【参考方案7】:我有相同的 npm 错误代码 128,但它还引用了 npm-cache 中的 debug.log 文件,这揭示了真正的问题。
package.json 中的两个依赖项直接指向我无权访问的私有存储库。
一旦我修复了 (details here),我就能够成功运行 npm install。 注意:不需要重新安装或更新 npm!
【讨论】:
在授予 git 访问私有仓库后也为我工作。【参考方案8】:修订时的错误点,特别是 1.10.4 的用法。检查 dijit.git 和 util.git 的 BitBucket 存储库是否设置了标记。有关 Atlassian 的版本控制/标记的更多信息:https://confluence.atlassian.com/bitbucket/use-repo-tags-321860179.html。
如果您使用已保存密码的 SSH,则对您的个人存储库的引用将需要使用以下格式通过 SSH 连接。
git+ssh://git@bitbucket.org/user/repository.git
【讨论】:
【参考方案9】:建议的第一步是使用最新的 npm:
npm install -g npm
(您可能需要sudo
)。您使用的是 npm 2.x,最新的是 3.5.x。
【讨论】:
我升级到 Node v.5(然后是 npm v.3),这解决了这个问题。我也不得不手动删除c:\myUser\AppData\Roaming
中的 npm 和 npm-cache 目录,谢谢!
我无法解释,但这解决了我的问题。我尝试清除缓存、删除 node_modules 目录等,但都没有奏效。
做了 npm install -g npm 和 sudo 但没有帮助
谢谢马克。这节省了我的一天:)以上是关于npm 安装错误代码 128的主要内容,如果未能解决你的问题,请参考以下文章
错误的ERR!代码ELIFECYCLE错误1当npm安装在模块上时
从 npm 安装 Electron-Js 时出现 npm 错误