运行npm install时出现错误

8
运行npm install时,我收到以下错误信息:
npm ERR! code 1
npm ERR! Command failed: /usr/bin/git checkout ~3.9.0
npm ERR! error: pathspec '~3.9.0' did not match any file(s) known to git.
npm ERR!

Node和NPM版本:

$ node -v
v10.4.0

$ npm -v
6.1.0

我尝试了降级npm以及在两台不同的机器上运行它,但得到了相同的结果。

以下是package.json中的依赖项:

"dependencies": {
"@bower_components/jquery": "jquery/jquery-dist#3.3.1",
"@bower_components/lodash": "lodash/lodash#~3.9.0",
"autosize": "^4.0.2",
"babel-core": "^6.26.3",
"babel-jest": "^23.0.1",
"babel-loader": "^7.1.4",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-rewire": "^1.0.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-polyfill": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"chai": "^4.1.2",
"chart.js": "^2.7.2",
"chartkick": "^2.3.5",
"chosen-js": "^1.8.5",
"core-js": "^2.5.7",
"create-react-class": "^15.6.3",
"del": "^3.0.0",
"enzyme": "^3.3.0",
"enzyme-adapter-react-15": "^1.0.2",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^16.1.0",
"eslint-plugin-import": "^2.12.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.8.2",
"event-stream": "^3.3.4",
"gulp": "^3.8.7",
"gulp-autoprefixer": "^4.0.0",
"gulp-cached": "^1.1.1",
"gulp-clean": "^0.3.0",
},
 "scripts": {
"test": "jest",
"start": "gulp dev",
"hot": "gulp hot-dev",
"build": "gulp build"
}

1
你的 package.json 文件中是否有 ~3.9.0 的版本号? - ceejayoz
1
你应该发布你的package.json文件,这样我们就能看到你的依赖项和脚本是什么。 - Mattia Righetti
刚刚更新了问题,包括了该软件包。是的,第二个依赖项中有一个 ~3.9.0 版本。 - Mei
@ceejayoz移除了那个依赖项确实消除了错误,但我仍然不明白为什么。 - Mei
2个回答

27

对我来说,4.0版也有同样的问题。在package.json中我只有一个依赖:

"gulp": "github:gulpjs/gulp#4.0",

我移除了 #4.0 现在它可以正常工作了。


4

虽然我回答晚了,但我的答案可能会澄清所有访问者的问题。

Git 无法解决使用“路径指定”的3.9.0版本依赖项。删除版本号#3.9.0将选择最新可用版本。这不一定是 gulp 的问题,正如其中一个答案中提到的那样。我在您的 package.json 中看到这里的版本为 @bower_components/lodash": "lodash/lodash#~3.9.0"。因此,移除#~3.9.0应该就可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接