IDP之Backstage - 环境搭建

0. 目录

      • 1. 前言
      • 2. 环境准备(Windows10下)
        • 2.1 安装nvm
        • 2.2 git和docker安装
      • 3. 创建模板项目
        • 3.1 典型错误: fails on the `yarn install` step
        • 3.2 再次启动
        • 3.3 验证
      • 4. 相关

1. 前言

本不想写这篇,因为看着官网文档写着挺简单的,但实际操作起来却是步步坑。于是怒而把过程细节重演一次并记录下来,于是就有了这篇。

2. 环境准备(Windows10下)

按照官网给出的Prerequisites,结合自身的实际情况,需要准备如下内容:

  1. Git-for-windows 。 可以同时满足GIT和Linux环境的要求。
  2. nvm - Node Version Manager 。同时满足nodejs和yarn的安装需求;而且可以在多个版本之间自由切换,相较于独立安装nodejs方便不少。
  3. Docker Desktop。Windows下的Docker自然就是选择它了。
2.1 安装nvm

这一步将安装关键的nodejs和yarn。

######################################### 1. 安装
# 如果这一步报错"Could not resolve host: raw.githubusercontent.com", 那就干脆浏览器下载这个install.sh脚本, 然后再本地执行
# 官方说明: https://github.com/nvm-sh/nvm?tab=readme-ov-file#wsl-troubleshooting
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash######################################### 2. 配置
# 以上 install.sh 脚本执行后,不出意外出现如下提示:
#	$ ./install.sh
#	=> Downloading nvm from git to '/c/Users/lqzkc/.nvm'
#	=> Cloning into 'C:/Users/lqzkc/.nvm'...
#	remote: Enumerating objects: 365, done.
#	remote: Counting objects: 100% (365/365), done.
#	remote: Compressing objects: 100% (313/313), done.
#	remote: Total 365 (delta 43), reused 166 (delta 26), pack-reused 0
#	Receiving objects: 100% (365/365), 365.08 KiB | 1.28 MiB/s, done.
#	Resolving deltas: 100% (43/43), done.
#	* (HEAD detached at FETCH_HEAD)
#	  master
#	=> Compressing and cleaning up git repository
#	
#	=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zprofile, ~/.zshrc, and ~/.profile.
#	=> Create one of them and run this script again
#	   OR
#	=> Append the following lines to the correct file yourself:
#	
#	export NVM_DIR="$HOME/.nvm"
#	[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
#	
#	=> Close and reopen your terminal to start using nvm or run the following to use it now:
#	
#	export NVM_DIR="$HOME/.nvm"
#	[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm# 2.1 按照上面命令行输出的提示, 创建一个 ~/.profile文件, 并写入其给出的内容; 
vi ~/.profile# 2.2 重新打开git命令行, 执行上述内容
export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm######################################### 3. 验证
# 验证nvm安装成功
nvm -v# 已经安装了哪些版本的nodejs
nvm ls# 卸载指定版本nodejs
nvm uninstall 16# 当前使用的nodejs版本
nvm current# 安装指定版本nodejs
#	注意:如果你之前配置过nodejs, 可能出现如下提示. 按照提示操作即可.
nvm install 18Downloading and installing node v18.20.2...Downloading https://nodejs.org/dist/v18.20.2/node-v18.20.2-win-x64.zip...######################################################################## 100.0%Computing checksum with sha256sumChecksums matched!Your user’s .npmrc file (${HOME}/.npmrc)has a `globalconfig` and/or a `prefix` setting, which are incompatible with nvm.Run `nvm use --delete-prefix v18.20.2` to unset it.
nvm use 18      # 指定使用指定版本的nodejs
node -v         # 验证node安装成功
npm -v          # 设置默认使用的nodejs版本
nvm alias default 18.20.2######################################### 4. 安装yarn
# https://classic.yarnpkg.com/en/docs/install#windows-stable
npm install --global yarnyarn -v
2.2 git和docker安装

参考上方给出的链接地址下载安装即可。相关的文档一大堆,这里不再重复,避免偏离本文重点。

3. 创建模板项目

相关的官方文档写得挺简单:

# 键入这一条命令, 在弹出的输入行中键入你想要创建的项目名,例如my-backstage-app
npx @backstage/create-app@latest
# 启动项目
#	如果一切顺利, 该命令执行完毕之后浏览器将自动打开 localhost:3000 地址.
cd my-backstage-app
yarn dev
3.1 典型错误: fails on the yarn install step

这应该算是本文出现的最大原因。

解决的方案其实官方文档里已经给出了 —— 安装node-gyp的依赖项pythonvisualstudio2022-workload-vctools
在这里插入图片描述

我这里其实就是将其简化下,并且给出几条优化建议:

  1. 最简单的安装方式自然是如这里建议的:
# 1. 先安装Chocolatey。以管理员权限打开cmd.exe命令行提示
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\binchoco -v   # 验证# 2. 使用Chocolatey安装python和visualstudio2022-workload-vctools
choco install python visualstudio2022-workload-vctools -y
  1. 另外的方案是分开安装python和visualstudio2022-workload-vctools。很多时候我们是有python编程需求的,所以一般都是建议使用pyenv-win。而对于visualstudio2022-workload-vctools的安装,依然是参考官方文档。
3.2 再次启动
cd my-backstage-app
yarn install
yarn tscyarn dev
3.3 验证

http://localhost:3000/
在这里插入图片描述

4. 相关

  1. backstage-getting-started
  2. isolated-vm#requirements

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

禅道登录/创建版本/编辑版本接口 【禅道版本 20.0.beta2】

登录获取token import requestsurl = "http://192.168.1.234:6061/api.php/v1/tokens" payload = {"account": "jenkins","password": "jenkins123" } headers = {}response = requests.request

UI设计的未来发展

UI 设计的未来发展,实际上是互联网行业未来发展的折射。毕竟,UI 设计始终是互联网行业的一部分,因此在互联网行业未来发展的可能性来看,UI 设计同样会跟随着互联网的部分稳步前进。曾经,在最初的图形化界面出现的时候&…

线上剧本杀小程序发展趋势如何?

随着几年的快速发展,剧本杀行业进入到了大众的视野,不过从2022年开始,行业就开始处于下滑趋势,但是行业反而变得更加的规范化。 经历过下滑发展后,剧本杀行业已经趋向专业化、精品化发展,行业正在复苏&…

高基报表是什么?高校各部门如何快速填报高基表?

高基报表——全称是《高等教育事业基层统计报表》(以下简称《高基报表》),作为高等院校基本情况报表的代表,承载着学校办学实力的真实写照。填报高基报表是一项细致入微的工作,不仅关系到学校的科学管理和决策研究&…

第一节:什么是操作系统

什么是操作系统 一、一台计算机的组成部分1、计算机能干啥2、谈谈计算机硬件 二、什么是操作系统三、学习操作系统的层次 一、一台计算机的组成部分 如下图所示: 这就是就是构成一台计算机的组成部分 1、计算机能干啥 ∙ \bullet ∙计算机是我们专业吃饭的家伙&a…

前端知识学习笔记-六(vue)

简介 Vue是前端优秀框架是一套用于构建用户界面的渐进式框架 Vue优点 Vue是目前前端最火的框架之一 Vue是目前企业技术栈中要求的知识点 vue可以提升开发体验 Vue学习难度较低 Vue开发前准备 一、nodejs环境 Nodejs简介 Nodejs诞生于2009年,主攻服务器方向&#x…

Spring Message

EnableJms注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(JmsBootstrapConfiguration.class) public @interface EnableJms { } @Import(JmsBootstrapConfiguration.class) @Configuration @Role(BeanDefinition.ROLE_INFRASTRUC…

数据结构OJ题——栈和队列

1. 用栈实现队列(OJ链接) 题目描述:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty) void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回…

Gateway 基本配置指南:构建高效的网络接入网关

简介: Gateway 是一个常用的网络接入网关,它可以帮助组织实现安全、可靠和高性能的网络连接。本文将介绍 Gateway 的基本配置,帮助读者了解如何正确配置和部署一个高效的 Gateway 网关。 1.网络拓扑规划: 在配置 Gateway 前&#…

锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测 程序设计 完整程序和数据获取方式:私信博主回复Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测。 参考资料 [1] h…

Java/Android 汉字转拼音

Java 汉字转拼音 1.TinyPinyin 功能: 适用于Java和Android的快速、低内存占用的汉字转拼音库。 特性: 生成的拼音不包含声调,均为大写;支持自定义词典,支持简体中文、繁体中文;执行效率很高(Pinyin4J的…

Nginx配置大全【六大使用场景、七大负载均衡策略、四大负载健康检查】

目录 基础配置信息应用场景一:配置web服务器应用场景二:反向代理服务器应用场景三:URL重定向应用场景四:防盗链应用场景五:根据设备类型重定向/代理/访问 不同域名/资源应用场景六:!负载均衡服务…

Python数据分析案例42——基于Attention-BiGRU的时间序列数据预测

承接上一篇的学术缝合,排列组合模型,本次继续缝合模型演示。 Python数据分析案例41——基于CNN-BiLSTM的沪深300收盘价预测-CSDN博客 案例背景 虽然我自己基于各种循环神经网络做时间序列的预测已经做烂了.....但是还是会有很多刚读研究生或者是别的领…

最新版守约者二级域名分发系统

主要功能 二级域名管理: 我们的系统提供全面的二级域名管理服务,让您轻松管理和配置二级域名。 域名分发:利用我们先进的域名分发技术,您可以自动化地分配和管理域名,确保每个用户或客户都能及时获得所需的域名资源。…

leetcode热题HOT 51. N 皇后

一、问题描述: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问…

python——字典(dict)

概念 字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系。 语法 数据为键值对形式出现,各个键值对之间用逗号隔开 d dict() d1 {"name":"zhanghao","age":12}方法 #mermaid-svg-nk6Q3uUsDPRNAJ0s {font…

SpringBoot基于RabbitMQ实现消息延迟队列方案

知识小科普 在此之前,简单说明下基于RabbitMQ实现延时队列的相关知识及说明下延时队列的使用场景。 延时队列使用场景 在很多的业务场景中,延时队列可以实现很多功能,此类业务中,一般上是非实时的,需要延迟处理的&a…

ipsec的特点和优点

IPsec(Internet Protocol Security)是一种用于保护 IP 网络通信安全的协议套件,它具有许多特点和优点,包括: 加密通信: IPsec 提供了对 IP 数据包的加密功能,可以确保数据在传输过程中是加密的…

Opencv | Opencv 基于图像的运算

目录 一. OpenCV 基于图像的运算1 cv.item( ) 获取图像某个位置的像素值2. cv. itemset( ) 修改图像某个位置的像素值3. cv.split( ) / cv.merge( ) 通道的分割与合并4. cv.copyMakeBorder ( ) 添加边框5. cv.addWeighted ( ) 图像融合 / 权重和6. cv.threshold 二值化操作7. c…

webpack详解

前端对于打包工具webpack的使用 首先是针对于版本的变化3-4 4的话node版本的底版不再支持,尽量下载14.0以后的版本,做到更好的兼容 配置方面增加了mode:production/development/none想要指定在不同的mode下开启默认的优化手段 loader和plugin的不同 1.loader能让webpack…