![](/img/trans.png)
[英]npm install cannot find package.json from dependencies of each dependency
[英]Install NPM dependency from github
我在从github安装我自己的依赖项时遇到麻烦。
我的package.json看起来像这样:
{
"name": "smartorm",
"description": "Intelligent multi-database object relational mapping",
"private": true,
"main": "smart.js",
"dependencies": {
"mysql": "~2.5.0",
"graphlib": "Queuecumber/GraphLibJS#v1.1",
"promise": "~6.0.0",
"xtend": "Raynos/xtend#v4.0.0"
}
}
依赖项“ graphlib”导致错误。 这是我的存储库之一,因此我敢肯定我没有正确设置它。 任何帮助,将不胜感激。
运行npm install
时出现以下错误
npm http 304 https://registry.npmjs.org/graphlib
npm ERR! Error: No compatible version found: graphlib@'Queuecumber/GraphLibJS#v1.1'
npm ERR! Valid install targets:
npm ERR! ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.1.0","0.1.1","0.2.0","0.2.1","0.3.0","0.3.1","0.3.2","0.3.3","0.4.0","0.4.1","0.4.2","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.5.9","0.5.10","0.5.11","0.5.12","0.6.0","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","1.0.0-pre1","0.8.0"]
npm ERR! at installTargetsError (/usr/share/npm/lib/cache.js:719:10)
npm ERR! at /usr/share/npm/lib/cache.js:638:10
npm ERR! at saved (/usr/share/npm/node_modules/npm-registry-client/lib/get.js:142:7)
npm ERR! at /usr/lib/nodejs/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Linux 3.13.0-36-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /media/Data/Code/Active/SmartORM
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /media/Data/Code/Active/SmartORM/npm-debug.log
npm ERR! not ok code 0
我有一个名为“ v1.1”的标签,该标签与github版本标题“ v1.1”相关联。 该存储库的package.json在版本号字段下列出了“ 1.1”。 我已经从该存储库中粘贴了package.json
{
"name": "graphlib",
"description": "Directed graphs in JavaScript using a sparse (adjacency list) representation",
"private": true,
"version": "1.1"
}
从GraphLibJS的存储库中可以看出 ,该项目未设置为公共NPM包。 实际上,在package.json
文件中,您可以看到private: true
标志。 这使NPM忽略该程序包。
两种可能的解决方案:
package.json
文件,以便发布公共NPM存储库。 本文可以提供一些帮助。 编辑
我的回答是错误的,但是解决方案始终是相同的。 尽管私有标志使该软件包对NPM不可用不是真的,但是这里有某些因素会影响到此。
如果您编辑package.json文件,则将行更改为:
"graphlib": "git://github.com/Queuecumber/GraphLibJS.git",
然后NPM实际上尝试在GitHub上获取该软件包,但是失败并出现以下错误:
Alessandros-MacBook-Air:测试Alessandro $ npm安装npm错误! 错误:无效版本:“ 1.1” npm ERR! 在Object.module.exports.fixVersionField(/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js:183:13)
因此,我的建议仍然是通过分叉来更新该库的package.json文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.