-
开源镜像站还缺少alpine的镜像,希望可以加入,现代流行的Docker构建的时候,离不开alpine,所以有必要加入alpine的apk镜像。
-
本帖最后由 华为开源镜像站 于 2018-1-12 16:28 编辑RubyGems简介 RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。RubyGems安装首先下载安装包:https://rubygems.org/pages/download解压并进入目录,执行命令(首先要确保系统已安装ruby)[code]$ gem update --system # 需要管理员或root用户[/code]修改镜像源安装好RubyGems后的默认镜像源为rubygems.org,但由于网络原因,可将镜像源切换为华为开源镜像站的RubyGems镜像源。1、查看当前源[code]$ gem sources -l *** CURRENT SOURCES *** https://rubygems.org/[/code]2、移除当前源[code]$ gem sources --remove https://rubygems.org/[/code]3、添加华为镜像站的RubyGems镜像源(以匿名用户为例)[code]$ gem sources --add https://anonymous:devcloud@mirrors.huaweicloud.com/repository/rubygems/[/code]4、查看镜像源是否修改成功[code]$ gem sources -l *** CURRENT SOURCES *** https://anonymous:devcloud@mirrors.huaweicloud.com/repository/rubygems/ [/code]若使用Gemfile和Bundle(例如:Rails项目)可以用bundle的gem源代码镜像命令。[code]$ bundle config mirror.https://rubygems.org https://anonymous:devcloud@mirrors.huaweicloud.com/repository/rubygems/[/code]这样可以无需修改Gemfile的source。[code]source ´https://rubygems.org/´ gem ´rails´, ´4.1.0´ ...[/code]
-
本帖最后由 华为开源镜像站 于 2018-1-12 15:03 编辑NuGet基本介绍 Nuget是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,NuGet能够令你在项目中添加、移除和更新引用的工作变得更加快捷方便。 通过NuGet你可以很容易的访问到其他开发者发布的软件包,你也可以创建、分享或者发布自己的包到NuGet。微软的EntityFramework、ASP.NET MVC等或者一些常用到的第三方软件包:Json.NET、NUnit等都托管到NuGet上。 为什么要使用NuGet 简单的说NuGet可以使我们的工作更方便,当我们的项目里要引用到的一些库时候,比如JQuery、Newtonsoft.Json、log4net等,我们需要从网上下载这些库,然后依次拷贝到各个项目中,当有的类库有更新时又不得不再重复一遍很是繁琐 ,这时就可以考虑使用NuGet来帮我们管理和更新这些类库,而且更新类库时会自动添加类库的相关引用,方便至极。 安装NuGet 安装Nuget有两种方式,可以从Visual Studio的扩展中安装NuGet 或者直接从NuGet官网下载安装包。 NuGet下载地址:https://www.nuget.org/downloads NuGet官方文档地址:https://docs.microsoft.com/en-us/nuget/
-
【DevCloud Weekly】华为云DevCloud产品最新动态130562018年8月之后华为云DevCloud产品最新动态地址2018年7月第四周:华为开源镜像站2.0震撼上线!更快!更全!更好用!2018年7月第一周:新部署类型,模板部署全新上线2018年3月第三周:测试服务6大功能升级 用户反馈页面全新优化 2018年3月第二周:项目管理再优化,精简流程升级为看板协作!2018年1月刊:开源镜像站上线CDN加速服务,下载性能快一倍!2017年12月第三周:双旦活动——好礼双倍送,致你和你的另一半2017年12月第一周:测试管理新版上线2017年11月第四周:华为云专家大咖 技术干货分享2017年11月第三周:福利来了!华为云+ofo 共同请你骑单车!2017年11月第二周:shell部署上线 轻松完成自动化部署2017年11月第一周:部署整体页面风格改变 有奖公测活动继续2017年10月第三周:生态合作伙伴项目管理OpenAPI发布2017年10月第二周:程序员过节有礼,众筹1024个不加班理由!2017年9月第三周:代码检查支持PHP语言
-
本帖最后由 码小玩 于 2017-12-29 14:22 编辑一、GitHub 发布开源指南 GitHub 在今年2月14日的发布了声明,宣布一个以开源方法论为主旨的全新站点诞生,旨在为开发者和企业提供开源的软件工程方法论。一时之间,受各路追捧。开源之道也是第一时间,以布道汉语世界为己任,有幸成为了简体中文的维护者。地址是:开源指南。 尽管从某种程度上讲,我们都是开源的受益者,但是,开源依旧需要更多的人参与进来,而开源指南无疑能够帮助人们少走弯路,正确的认识开源,在为开源做贡献的同时,收获自己想要的。对于个人也好,企业也罢,都是获利的一方。还在犹豫什么?放手去干吧! 二、Docker 公司商业化,切出项目Moby Docker 作为PaaS平台dotCloud的衍生品,以重新包装Linux的容器而风靡开发者圈,完全重新定义了软件的交付方式。自2013年第一个版本发布起,发展非常迅速。不仅吸引了众多IT大鳄的青睐,而且很快成为了Linux容器的生态事实上的标准。 但是,Docker本身的商业化道路一直都备受关注,正当很多基于Docker的创业公司和产品层出不穷,急着变现的时候,比如国内很多基于容器的云公司,如红帽的OpenShiftV3的PaaS平台,以及公有云AWS、Azure、GCE等都似乎利用容器赚了个盆满钵满,然而,很多人开始为Docker公司着急了,害怕他成为当年Sun公司的Java,大家都在赚钱,唯独最初的原创者找不到合理的模式。 有资本界的朋友是如此评价Docker的: Docker走出如此的路数一点也不意外,从微软的收购未果而言,说明后面已经有资本和运营的人在预估了,一定是比微软更高的价格来计算的。这说明有业界的高手在帮助Docker的商业化,在恰当的时间做恰当的事,是一个企业能够成功的标志性事件。 三、Google 针对开源专门设立了站点Opensource.google.com Google 似乎正在改变自己在业内的高冷形象,从 Kubernetes 的社区运营,再到今年即将参与RedHat Summit 2017,乃至这次新开源站点的建立,都在应验着开放战略,试图扳回在云计算市场的失利。再比如Spanner的服务、以及免费为开发者提供资源等具体的产品和服务。其中一定有商业因素的考量,但我们始终认为Google的信条,以及他对开源独特的理解,所以宁愿相信他的情怀:Google 开源项目部不仅仅是让Google的软件变得更好——他们更加热衷于通过开源改变世界。 四、GitHub 发布2017 开源调查 GitHub联合学术界、开源社区、以及软件界,搞了一次大规模的调查。目标一部分来自于GitHub上的仓库,超过3800个,随机询问了5500个开发者,而在其它的开源社区则是定向的500个调查。 结论值得所有人深思: 文档的呼声最高,却通常是最被忽略的那个 负面的活动虽然不频繁,但是却最容易被放大 女性的参与相对非常的少 使用和参与开源的绝大多数来自商业公司雇员 人们在选择软件时,默认会优先采用开源 五、LinuxCon正式入华,Linus承诺会每年来中国一次 Linux基金会的会议主办历经坎坷,终于顺利的完成了自己的首秀,为各位开源界的人们交出了满意的答卷。这对于本土是有着极具影响力的!其对于社会、业界的影响是非常之深远的。 在最后的关闭短暂讲话中,Jim Zemlin说到,Linux基金会承诺超过十年将落地中国、扎根中国、支持中国的开源事业发展,并和大家说“我们明年见,明年Linus仍然会来。” 六、Linux基金会发布企业开源指南 既然是企业,就需要有企业的思路,企业的精髓在于管理,在于指导。正如其副标题所言:“运营开源项目办公室 ”,毋宁说开源需要系统的逐步的进行,对于企业来讲,涉及到的部门颇多。因为它直接关系到企业的文化。 开源的重点并不在于方法论,而是在于人们的认知,如果人们的思维方式仍然停留在上个世界8、90年代微软、甲骨文崛起时期,那么开源基本上很难施行和实践。在庞大的经济环境面前,开源确实仍然没有浮出水面被大众所认知,至少本土的现实情形是如此。但是如果没有方法论,事情会是一筹莫展。 七、中国开源年会第一次全程以开源领导力为议题组织会议 7967 作为本土草根组织的会议,第一次以方法论、开源治理为话题,成功举办了以开源领导力为议题的会议,内容涉及本土顶级开源项目孵化的故事等。 这次大会总共1,108人次到场,在线视频观众总计2,284人,参加了接近60位大牛讲师的5场主题演讲,45场分会场演讲,6场动手训练营,5场嘉宾对谈/观众问答,而来自五湖四海的50位可爱的志愿者们,热情地为讲师与观众们服务。 八、CNCF的崛起 就在上一周,作为SaaS的大佬——SalesForce加入了CNCF,这家Linux基金会下属的非盈利组织,最初由Google的贡献的Kubernetes项目而生,渐渐的形成了云原生应用、微服务的生态系统。三大公有云厂商AWS、Azure、Google均号称原生支持。连传统厂商RedHat的OpenShift直接切换,直接革了CloudFoundry的命。如此成功仿佛坐上火箭般的开源项目,前几年有OpenStack。 九、微软成为GitHub企业排名榜首 在GitHub今年的宇宙大会上总结了一些内容:GitHub 2017的数据,微软,这家曾经视开源为毒瘤的公司,以实际行动证明了自己拥抱开源的决心。当然,就更不用提其在Azure云平台上发布的各种基于开源项目的产品和服务了。 十、Ubuntu 将桌面系统换回Gnome Ubuntu有着无与伦比的全球开发者和用户社区,产品涉足云平台、服务器、桌面、移动端、项目托管、部署平台等,但是几年下来,开始渐渐的有些力不从心,上个月大变动。那么从社区运营、参与、开源软件上下游等视角来分析一下,它犯了那些不应该犯的错? Unity的出现,而其它Linux桌面是推动Gnome3的,这导致了Ubuntu和整个其余的Linux产生了巨大的分歧。和Launchpad、Juju一样,Ubuntu再次将自己的打包者和开发者陷入了孤立,没有上游社区的支持来稳定供应链。这也就意味着,Canonical开发人员再次成为软件的唯一开发者和维护者,这进一步压缩了Canonical欲扩而不能的资源。 十一、Linux完全征服超算 全球公有云上运行的负载有90%是Linux操作系统,在嵌入式市场的占有率是62%,而在超算的市场占有率更是达到了99%,还有,它运行在世界上超过82%的智能手机中,也是所有公有云厂商的主要支撑服务器(90%)。 但是从技术和工程、协作、治理的角度讲,Linux 内核是人类史上的奇迹。其背后蕴含的哲学、方法都是我们值得挖掘的宝库。 十二、Linux Journal在经营23年之后,选择退出历史舞台 这是一个不怎么为人所知的围绕Linux相关技术的杂志,在前不久宣布停刊。但是我认为这是一件值得庆贺的事情,说明Linux已经是默认的信息技术的基石。 Linux成为IT从业人员的常识,GitHub的项目多达6千7百万,开源的时代已经降临。 结语 今年我听到的对于开源总结的最好的一句话作为本文的结尾,也是对开源之道未来展望。 “开源让中国与世界更加同步。” ——吴晓敏(Forrest大中华区副总裁)
-
本帖最后由 华为开源镜像站 于 2017-11-18 17:42 编辑华为开源镜像站新手指导PHP 本章将告诉你如何通过 Composer 来安装你的库。[hr] [*]库(资源包) [*]每一个项目都是一个包 [*]平台软件包 [*]指明版本 [*]标签 [*]分支 [*]别名 [*]锁文件 [*]发布到 VCS(线上版本控制系统) [*]发布到 packagist [hr] 每一个项目都是一个包只要你有一个 composer.json 文件在目录中,那么整个目录就是一个包。当你添加一个 require 到项目中,你就是在创建一个依赖于其它库的包。你的项目和库之间唯一的区别是,你的项目是一个没有名字的包。为了使它成为一个可安装的包,你需要给它一个名称。你可以通过 composer.json 中的 name 来定义:[code]{ "name": "acme/hello-world", "require": { "monolog/monolog": "1.0.*" } }[/code] 在这种情况下项目的名称为 acme/hello-world,其中 acme 是供应商的名称。供应商的名称是必须填写的。[indent]注意: 如果你不知道拿什么作为供应商的名称, 那么使用你 github 上的用户名通常是不错的选择。 虽然包名不区分大小写,但惯例是使用小写字母,并用连字符作为单词的分隔。[/indent] 平台软件包Composer 将那些已经安装在系统上,但并不是由 Composer 安装的包视为一个虚拟的平台软件包。这包括PHP本身,PHP扩展和一些系统库。 [*]php 表示用户的 PHP 版本要求,你可以对其做出限制。例如 >=5.4.0。如果需要64位版本的 PHP,你可以使用 php-64bit 进行限制。 [*]hhvm 代表的是 HHVM(也就是 HipHop Virtual Machine) 运行环境的版本,并且允许你设置一个版本限制,例如,´>=2.3.3´。 [*]ext- 可以帮你指定需要的 PHP 扩展(包括核心扩展)。通常 PHP 拓展的版本可以是不一致的,将它们的版本约束为 * 是一个不错的主意。一个 PHP 扩展包的例子:包名可以写成 ext-gd。 [*]lib- 允许对 PHP 库的版本进行限制。 以下是可供使用的名称:curl、iconv、icu、libxml、openssl、pcre、uuid、xsl。 你可以使用 composer show --platform 命令来获取可用的平台软件包的列表。 指明版本你需要一些方法来指明自己开发的包的版本,当你在 Packagist 上发布自己的包,它能够从 VCS (git, svn, hg) 的信息推断出包的版本,因此你不必手动指明版本号,并且也不建议这样做。请查看 标签 和 分支 来了解版本号是如何被提取的。如果你想要手动创建并且真的要明确指定它,你只需要添加一个 version 字段:{ "version": "1.0.0"}[indent]注意: 你应该尽量避免手动设置版本号,因为标签的值必须与标签名相匹配。[/indent] 标签对于每一个看起来像版本号的标签,都会相应的创建一个包的版本。它应该符合 ´X.Y.Z´ 或者 ´vX.Y.Z´ 的形式,-patch、-alpha、-beta 或 -RC 这些后缀是可选的。在后缀之后也可以再跟上一个数字。下面是有效的标签名称的几个例子: [*]1.0.0 [*]v1.0.0 [*]1.10.5-RC1 [*]v4.4.4beta2 [*]v2.0.0-alpha [*]v2.0.4-p1 [indent]注意: 即使你的标签带有前缀 v, 由于在需要 require 一个版本的约束时是不允许这种前缀的, 因此 v 将被省略(例如标签 V1.0.0 将创建 1.0.0 版本)。[/indent] 分支对于每一个分支,都会相应的创建一个包的开发版本。如果分支名看起来像一个版本号,那么将创建一个如同 {分支名}-dev 的包版本号。例如一个分支 2.0 将产生一个 2.0.x-dev 包版本(加入了 .x 是出于技术的原因,以确保它被识别为一个分支,而 2.0.x 的分支名称也是允许的,它同样会被转换为 2.0.x-dev)。如果分支名看起来不像一个版本号,它将会创建 dev-{分支名} 形式的版本号。例如 master 将产生一个 dev-master的版本号。下面是版本分支名称的一些示例: [*]1.x [*]1.0 (equals 1.0.x) [*]1.1.x [indent]注意: 当你安装一个新的版本时,将会自动从它 source 中拉取。 详细请查看 install 命令。[/indent] 别名它表示一个包版本的别名。例如,你可以为 dev-master 设置别名 1.0.x-dev,这样就可以通过 require 1.0.x-dev 来得到 dev-master 版本的包。详细请查看“别名”。 锁文件如果你愿意,可以在你的项目中提交 composer.lock 文件。他将帮助你的团队始终针对同一个依赖版本进行测试。任何时候,这个锁文件都只对于你的项目产生影响。如果你不想提交锁文件,并且你正在使用 Git,那么请将它添加到 .gitignore 文件中。 发布到 VCS(线上版本控制系统)一旦你有一个包含 composer.json 文件的库存储在线上版本控制系统(例如:Git),你的库就可以被 Composer 所安装。在这个例子中,我们将 acme/hello-world 库发布在 GitHub 上的 github.com/username/hello-world 中。现在测试这个 acme/hello-world 包,我们在本地创建一个新的项目。我们将它命名为 acme/blog。此博客将依赖 acme/hello-world,而后者又依赖 monolog/monolog。我们可以在某处创建一个新的 blog 文件夹来完成它,并且需要包含 composer.json 文件:[code]{ "name":"acme/blog", "require": { "acme/hello-world":"dev-master" } }[/code] 在这个例子中 name 不是必须的,因为我们并不想将它发布为一个库。在这里为 composer.json 文件添加描述。现在我们需要告诉我们的应用,在哪里可以找到 hello-world 的依赖。为此我们需要在 composer.json 中添加 repositories 来源申明:[code]{ "name":"acme/blog", "repositories": [ { "type": "vcs", "url": "https://github.com/username/hello-world" } ], "require": { "acme/hello-world":"dev-master" } } [/code] 更多关于包的来源是如何工作的,以及还有什么其他的类型可供选择,请查看资源库。这就是全部了。你现在可以使用 Composer 的 install 命令来安装你的依赖包了!小结: 任何含有 composer.json 的 GIT、SVN、HG 存储库,都可以通过 require 字段指定“包来源”和“声明依赖”来添加到你的项目中。 发布到 packagist好的,你现在可以发布你的包了,但你不会希望你的用户每次都这样繁琐的指定包的来源。你可能注意到了另一件事,我们并没有指定 monolog/monolog 的来源。它是怎么工作的?答案是 packagist。Packagist 是 Composer 主要的一个包信息存储库,它默认是启用的。任何在 packagist 上发布的包都可以直接被 Composer 使用。就像 monolog 它被 发布在 packagist 上,我们可以直接使用它,而不必指定任何额外的来源信息。如果我们想与世界分享我们的 hello-world,我们最好将它发布到 packagist 上。这样做是很容易的。你只需要点击那个大大的 "Submit Package" 按钮并注册。接着提交你库的来源地址,此时 packagist 就开始了抓取。一旦完成,你的包将可以提供给任何人使用。
-
Composer工具安装配置教程 简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 [hr] [*]简介 [*]依赖管理 [*]声明依赖关系 [*]系统要求 [*]安装 - *nix [*]下载 Composer 的可执行文件 [*]局部安装 [*]全局安装 [*]全局安装 (on OSX via homebrew) [*]安装 - Windows [*]使用安装程序 [*]手动安装 [*]使用 Composer [*]自动加载 [hr] 依赖管理Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。 这种想法并不新鲜,Composer 受到了 node´s npm 和 ruby´s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。 Composer 将这样为你解决问题: a) 你有一个项目依赖于若干个库。 b) 其中一些库依赖于其他库。 c) 你声明你所依赖的东西。 d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。 声明依赖关系比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。 { "require": { "monolog/monolog": "1.2.*" }}我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。 系统要求运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。 我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。 Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。 安装 - *nix 下载 Composer 的可执行文件 局部安装要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中): curl -sS https://getcomposer.org/installer | php[indent]注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器: [/indent]php -r "readfile(´https://getcomposer.org/installer´);" | php这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。 你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径): curl -sS https://getcomposer.org/installer | php -- --install-dir=bin 全局安装你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。 你可以执行这些命令让 composer 在你的系统中进行全局调用: curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer[indent]注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。 [/indent]现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分。 brew updatebrew tap josegonzalez/homebrew-phpbrew tap homebrew/versionsbrew install php55-intlbrew install josegonzalez/php/composer 安装 - Windows 使用安装程序这是将 Composer 安装在你机器上的最简单的方法。 下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。 手动安装设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件: C:\Users\username>cd C:\binC:\bin>php -r "readfile(´https://getcomposer.org/installer´);" | php[indent]注意: 如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 。 [/indent]在 composer.phar 同级目录下新建文件 composer.bat : C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat关闭当前的命令行窗口,打开新的命令行窗口进行测试: C:\Users\username>composer -VComposer version 27d8904 使用 Composer现在我们将使用 Composer 来安装项目的依赖。如果在当前目录下没有一个 composer.json 文件,请查看基本用法章节。 要解决和下载依赖,请执行 install 命令: php composer.phar install如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替: composer install继续 上面的例子,这里将下载 monolog 到 vendor/monolog/monolog 目录。 自动加载除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中: require ´vendor/autoload.php´;现在我们就可以使用 monolog 了! composer的中文官方文档地址为:https://docs.phpcomposer.com/00-intro.html composer的英文官方文档地址为:https://getcomposer.org/doc/00-intro.md
-
说到NPM,总是离不开Node.js的。Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。采用Google开发的V8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。Wiki:https://zh.wikipedia.org/wiki/Node.jsNPM全称Node PackageManager,即node包管理器)是Node.js默认的、以JavaScript编写的包管理系统。Wiki:https://zh.wikipedia.org/wiki/NpmNode.js发展迅速,拥有良好的生态,其社区中已经拥有50+开源第三方包,每周有超过30亿次下载。NPM可以帮助你高效便捷的使用和管理包文件,是提升开发效率必不可少的“神器”NPM安装与更新NPM是Node.js默认自带的工具,因此只要安装Node.js即自动安装了NPM。Node.js安装包下载:https://nodejs.org/en/download/ (建议下载标记LTS的版本,其他版本可能没有经过测试验证)安装完成后可以分别通过node –v和npm –v命令查看Node.js和NPM版本以验证安装是否成功。NPM更新频率比Node.js更加频繁,可以使用如下命令及时更新NPM工具npm install -g npm@latest配置NPM第三方包安装源NPM国外中央仓由于网络问题经常会不稳定或下载慢,科学上网可以解决或者将安装源修改为国内优质镜像源。下面的命令可以将“华为开源镜像站”设置为NPM开源包下载源(友情提示:华为开源镜像站对注册使用用户免费提供CDN加速服务,下载快一倍!体验飞一般的感觉!{:2_37:})npm config set registry https://mirrors.huaweicloud.com/repository/npm/配置NPM网络代理(公司网络有隔离的可参考,非必须配置):方式一: 通过命令行的方式npm config set proxy http://:@:npm config set https-proxy http://:@:方式二: 在.npmrc中配置如下内容:proxy=http://:@:https-proxy=http://:@:注意:1. 此处的用户名和密码是您Proxy的用户名密码,如果您的Proxy没有密码则可以不配置2. .npmrc文件键值对中的等号前后不能有空格关于开源包搜索华为开源镜像站目前暂未提供搜索功能,但目前NPM源是实时代理机制,如你需搜索开源包信息,可以直接前往NPM社区:https://www.npmjs.com/
-
先来介绍一下Maven,Maven是一款软件的工程管理和自动构建工具,基于工程对象模型(POM)的概念,奉行约定优于配置“原则,主要面向java开发(据说也能支持C#/Ruby/Scala等开发,但实际应用较少)。Maven是一个基于插件的框架,通过插件执行java开发中各种自动化任务,可以灵活扩展和自定义。另一方面由于有统一的约定,形成标准,插件执行可共享也可重用,极大地提升效率。Wiki介绍:https://zh.wikipedia.org/wiki/Apache_MavenMaven安装使用maven前你需要先安装java sdk,通过cmd执行如下命令检查Java -version,如不能正确执行则说明java sdk没有安装或配置正确,请参考如下帖子进行安装配置:http://forum.huaweicloud.com/forum.php?mod=viewthread&tid=1950安装完java SDK后可参考如下帖子安装maven:http://forum.huaweicloud.com/forum.php?mod=viewthread&tid=1816配置华为开源镜像站包依赖管理是maven的重要特性之一。随着开源的运动的发展,几乎所有的软件都不可避免的使用到第三方的开源库,java的开源类库非常丰富,我们可以通过依赖的方式方便地引入到工程中使用。但随着依赖增多版本不一致、版本冲突、依赖臃肿等问题都会接踵而来,maven通过坐标(GAV)标准化地定义了每一个开源组件和依赖关系,漂亮地解决了这些问题。同时Maven还提供了一个免费中央仓,让开发者可以方便地找到全球大部分需要的第三方库。国内开发者由于网络原因,直接从中央仓下载第三包速度较慢或不稳定,科学上网或使用国内镜像站可以很好解决该问题。下面就介绍下如何将华为开源镜像站配置为maven的默认第三方库下载源。Step1 访问华为开源镜像站(https://mirrors.huaweicloud.com/),找到maven类型镜像库。10400Step2 点击立即使用获取配置指导,可以选择不同的工具场景,会自动生成配置指导。(友情提示:注册使用可以免费享受CDN加速服务,下载快一倍!)10401Step3 配置maven镜像源 方式一:直接下载配置文件(注意备份原来的配置,避免配置丢失),替换用户目录(windows中如C:\Users\yangzhiwei\)下的.m2目录下的setting.xml(用户配置)或mawen安装目录下的conf目录中的setting.xml(系统全局配置)。10402 方式二:直接点击页面复制按钮将某一段的配置粘贴到用户目录(windows中如C:\Users\yangzhiwei\)下的.m2目录中setting.xml(用户配置)或mawen安装目录下的conf目录中setting.xml(系统全局配置)对应的配置标签对中。1040310404Maven代理配置对于企业内部需要使用代理访问外网的情况,可以在用户目录(windows中如C:\Users\yangzhiwei\)下的.m2目录中setting.xml(用户配置)或mawen安装目录下的conf目录中setting.xml(系统全局配置)里配置代理来实现。找到setting.xml文件中的标签对,在其内配置代理信息,参考如下样例10412其他工具配置指导参考Gradle配置指导:AndroidStudio配置指导:Eclipse配置指导:
-
一、基本介绍 Pypi(Python Package Index)是管理python包第三方软件。所有由python开发出来的包的网址为:https://pypi.python.org/pypi。因为Pypi是python的包管理软件。故此,在使用Pip之前需要先行检验系统是否安装python,再安装pip。 二、检验python是否安装1、windows系统windows系统不会默认安装python。需要自行安装。 2、linxu系统linux系统下,会默认安装python。用户可直接打开linux系统的终端,输入指令 python --version查看所安装的python版本。 三、Python安装python2.x和python3.x两个版本是不兼容的。python3.x引入了python2.x中许多不兼容的特性。至于具体要选择哪个版本的python,用户可以根据自己的项目兼容性来考虑。1、windows系统python下载官网:https://www.python.org/downloads/目前的python-windows版本,官方上已经支持多种格式的文件下载。例如:提供压缩的zip文件、以及windows程序的格式进行下载。其中安装包名中含有64数字的代表该包支持64位的操作系统。这里以 Windows x86-64 executable installer为例说明,代表windows的可执行文件。依据安装向导安装完成即可。选择简单的install now.里面其中会安装出 --> python Launder ,python的IDE,通过它可以直接运行python指令和python程序(缺点:每次运行python只能够通过python launder进行) --> 默认会安装在系统的用户目录下。 --> 默认情况下会安装好pip。用户可以通过打开pythonIDE输入指令:a) import pip b)pip.__version__ 来查看所安装的Pip版本号 查看python安装路径是否已经添加在系统变量path之中,方便直接在windows终端中输入python指令,使用python。同样地,若要系统能够识别Pip,也需要将用户的pip的目录添加至系统变量Path之中,若不添加则需要使用python -m pip来使用pip指令。(我这里的python安装路径为:C:\Users\我是马赛克\AppData\Local\Programs\Python\Python37,pip的安装路径为:C:\Users\我是马赛克\AppData\Local\Programs\Python\Python37\Scripts) --> 打开windows终端,输入echo %Path% -->添加python路径。计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 找到系统变量Path -> 将python的安装路径添加至该变量末尾即可(注意以英文分号为分隔符) 2、Linux系统linux下默认会安装python。
-
本帖最后由 yd_21472167 于 2017-9-15 16:23 编辑随着Openstack的版本更新,Openstack已经逐渐成为公有云和私有云的建设事实标准,Openstack作为开源社区软件,距离商用还有一段距离。尤其是在面向多站点的openstack建设时,仍然面临大量的挑战: 挑战一:跨站点的统一云服务和资源调度 一方面,随着企业的发展,大量分支机构和服务网点的分布对网络提出挑战。但是由于带宽资源有限,以及服务质量和服务时延的要求越来越高。所以对于本地建站和数据中心的要求会越来越多,这将对各服务站点和资源的统一管理和调度就提出了挑战。统一的云服务系统,要求我们提供通用的Openstack标准API接口。 挑战二:云服务的高可用性和易管理。 云服务系统规模的不但扩大。跨站点,跨地域的管理成为挑战的同时。如何保证高可用性和易用性是Openstack的另一挑战。云服务要求部分节点的实效,不能影响业务的整体服务。同时版本的升级,补丁的更新都必须对整体服务影响最小化。 挑战三:多站点的可扩展性 单一Openstack来管理大规模的虚拟机是一大挑战。计算节点的资源收集,调度,网络信息转发,大规模节点间的RPC消息交互,甚至数据库的增删查改,都可能成为瓶颈。更何况即使单一一套Openstack服务失败,将影响到整体的服务,不例如故障域的隔离。 华为FusionSphere选择Openstack作为基础云操作系统的核心的同时,也不断优化完善Openstack的缺陷。面对上述的挑战,华为FusionSphere提出了级联的概念和设计理念。他将Openstack也作为一个大的计算节点,来进行统一的调度和管理。 实现逻辑是将Nova配置成nova-compute的hypervisor,将cinder配置成cinder-volume的存储后端,将Neutron配置成L2/L3Agent对接的网络设备,Ceilometer作为Ceilometer的数据后端,最后实现如下架构图1743 FusionSphere在使用Opentack作为管理资源的核心,同时加入级联架构,那么就必然面临对Openstack代码的修改。使用开源社区的软件。尤其是对于活跃的开源软件,怎么添加自己的特性的同时,能够兼容开源社区的版本,一直是一个不断平衡的过程。目前主流的开发方法一般有两种,一种是不修改源码,所有特性都使用插件的方式要开发。使用插件来补充开源软件的缺陷,同时支持推动开源软件的功能升级,开发新的特性满足自己的需要;这种办法,优点是兼容社区,当社区版本有大的版本升级的时候,可以很快的升级完成。另外一种就是从一个稳定的版本切出,在上面开发自己的功能特性,之后在社区中有新的特性需要合入进来,直接在自己的代码中开发类似的功能;这种方法的优点就是自由度高,可是开发出很好的适合自己特性的软件,但是缺点也很明显,随着时间的延迟,与社区差异性会越来越大。 FusionSphere目前主要使用的版本是M版本,在此版本中加入自己的级联结构的设计实现。目前我们采用的是级联架构是在源码中修改的,但是同时新特性和功能的开发,尽量做到不侵入源码,对于具体的函数,类的修改,主要是使用面向对象的继承,和函数的复写来实现。充分利用Openstack框架配置文件的强大功能,开发适合自己特性的各种不同的Driver和Manager,改变程序执行顺序,从而实现自己的功能。 尽管FusionSphere已经尽可能的做到不侵入开源代码,但是对于千万级源码的Openstack来说,它本身版本的升级就是一个耗时而且艰难的任务。单单nova项目,都是一个巨大的工程项目,再加入自己的特性代码,很容易就会使得代码工程越来越大。这样的一个系统级的软件,如何做到出现问题快速响应,如何做到发布补丁又不影响线上任务,如何做到版本迭代快速稳定的升级,都是华为云面临的新的挑战。针对这样的问题,华为期望做到服务化的解耦,最后逐步实现云系统的微服务化。1744
上滑加载中
推荐直播
-
GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
2024/12/24 周二 16:30-18:00
Leo 华为云数据库DTSE技术布道师
数据库的复杂运维,是否让你感到头疼不已?今天,华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。
回顾中 -
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
回顾中
热门标签