npm安装错误代码128

时间:2016-01-26 18:58:38

标签: node.js git npm

在全新安装Node和Git后尝试运行npm install时收到以下错误

enter image description here

任何人都知道可能导致它的原因,以及如何解决这个问题?

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"
    }
}

8 个答案:

答案 0 :(得分:14)

建议的第一步是使用最新的npm:

npm install -g npm 

(您可能需要sudo)。你使用的是npm 2.x,最新的是3.5.x.

答案 1 :(得分:3)

首先,我删除了位于npm的{​​{1}}和npm-cache目录。 然后,我执行了c:\myUser\AppData\Roaming。这解决了我的问题。

答案 2 :(得分:2)

错误指向修订版,特别是使用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

答案 3 :(得分:2)

我有相同的npm错误代码128,但它也引用了npm-cache中的debug.log文件,揭示了真正的问题。

package.json中的两个依赖项直接指向我无法访问的私有存储库。

一旦我修复了(details here),我就能成功运行npm install。 注意:不需要重新安装或更新npm!

答案 4 :(得分:2)

在我的情况下,我刚刚升级了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 :(得分:1)

你必须在windows中使用cmd作为管理员,或在linux中添加sudo

答案 6 :(得分:0)

删除 node_modules 文件夹并删除 package-lock.json 文件。然后运行以下命令,

  

npm cache clean --force

     

npm install

答案 7 :(得分:0)

我在Windows 10上也遇到了同样的错误,并且通过使用以下URL生成,再次在GitHub中添加了ssh密钥来修复了该错误:https://help.github.com/enterprise/2.13/user/articles/connecting-to-github-with-ssh/

要检查现有密钥,请使用以下命令:

  1. 打开Git Bash。按下Windows按钮并搜索Git Bash。
  2. 输入ls -al ~/.ssh以查看是否存在现有的SSH密钥
  3. 检查目录列表,以查看是否已具有公共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。

重新启动命令提示符,错误将得到解决。

希望这会对某人有所帮助。