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 18
    Downloading 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 sha256sum
    Checksums 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 yarn

yarn -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\bin

choco -v   # 验证

# 2. 使用Chocolatey安装python和visualstudio2022-workload-vctools
#	注意:这里建议以管理员身份打开powershell,并且架起全局梯子, 节点选美丽国
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 tsc

yarn dev
3.3 验证

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

4. 相关

  1. backstage-getting-started
  2. isolated-vm#requirements
  3. VSCode - plugin - backstage

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】多字节字符、宽字符(涉及字符集和编码)

字符集、编码: 字符集:一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。例如:ASCII、Unicode、GB2312、GBK、GB18030、BIG5(繁体中文) ... 编码方式:符号…

半导体厂商

引言: 学习了这么久了, 突然发现对某些陌生类型的单片机的历史、公司、不是很了解, 很多只是听说过, 本文的分享就是为了解决关于上述疑问的。 目录 C51 STM32 AVR PIC NXP(恩智浦) Infineon (英飞凌…

2024新手做电商——哪个平台开店更好做?多平台对比分析!

哈喽~我是电商月月 随着互联网的发展,线下创业越来越不好做 相对于其他创业项目来说,电商的门槛还相对低一点,所以一大批人创业的选择,就看向了电商行业 但准备开店的新手朋友纠结了:自己没有基础,选择哪…

Java面试:MySQL面试题汇总

1.说一下 MySQL 执行一条查询语句的内部执行过程? 答:MySQL 执行一条查询的流程如下: 客户端先通过连接器连接到 MySQL 服务器;连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前…

中海达亮相全国地灾防治成果交流会, 硬核产品引关注

4月17日-18日,全国地质灾害防治新方法新技术新设备成果交流会在云南昆明召开。本次活动主题为“提升地质灾害防治能力,服务保障高质量发展”,由中国地质灾害防治与生态修复协会举办,来自业务主管部门、行业协会及相关企业等800多名…

JS-33-jQuery02-选择器

一、单个选择器 选择器是jQuery的核心。 一个选择器写出来类似$(#dom-id)。 美元符号定义 jQuery 为什么jQuery要发明选择器?回顾一下DOM操作中我们经常使用的代码: // 按ID查找: var a document.getElementById(dom-id);// 按tag查找&am…

3d模型渲染怎么会没材质---模大狮模型网

在进行3D模型渲染时,有时会遇到材质丢失的问题,这可能会给设计师们带来一些困扰。材质是渲染的重要组成部分,它们赋予了模型真实感和视觉吸引力。然而,当模型在渲染过程中出现没有材质的情况时,可能会导致最终效果不如…

服务器数据恢复—RAID5故障导致SAP+oracle数据丢失的数据恢复案例

服务器存储数据恢复环境: 某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。 服务器存储故障&分析: 该RAID5阵列中一块硬盘出现故障离线&#xff0…

C++类和对象第二弹(构造,析构和拷贝构造函数)

目录 前言 1. 类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 3. 析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 总结 前言 本文主要讲解类中构造函数、析构函数和拷贝构造函数。关于这三个类中默认成员函数的知识点很多,有许多…

OSPF笔记+大实验

OSPF综合大实验---实验报告 配置IP地址 R1: [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 172.16.33.1 24 [R1-GigabitEthernet0/0/0]int l0 [R1-LoopBack0]ip add 172.168.34.1 24 R2: [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 172.16.33.2 24…

云服务器租用价格多少钱一年?

云服务器租用价格多少钱一年?61元一年起。现在租一个服务器多少一个月?云服务器一年费用多少钱?优惠价格低至3.8元1个月,租用云服务器收费价格表:阿里云和腾讯云2核2G3M服务器优惠价格61元一年、云服务器是99元一年&am…

秋招之路 面经

这里参考一位很厉害的前辈所分享的他的嵌入式软件工程师秋招之路,自己详细的读了一下他的经历以及他的分享的秋招面试和项目经验的总结。 我的嵌入式软件工程师秋招之路(文末送福利)_嵌入式软件工程师 刷leetcode-CSDN博客 如何在面试中介绍…

鸿蒙TypeScript学习第19天【命名空间】

1、TypeScript 命名空间 命名空间一个最明确的目的就是解决重名问题。 假设这样一种情况,当一个班上有两个名叫小明的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的姓&#xff0…

15V转5V3A降压同步WT6019

15V转5V3A降压同步WT6019 WT6019则是一种高效的同步降压转换器。它可以将15V的输入电压稳定转换为5V的输出电压,并保证最大3A的电流输出。这种转换器的核心在于其内部的功率MOSFET,它能够以较低的导通电阻和快速的开关速度,实现高效率的能量…

突破界限:LangChain 引领 AI 应用构建的新时代

前言 在上一篇文章中我们对 ChatWithPDF 的方案设计进行了整体的概览,现在细化下整体流程,如下图所示: 针对上面的流程,我们思考🤔一下会面临的问题: 如何读取 PDF 中的内容?(肯定…

singleCellNet(代码开源)|单细胞层面对细胞分类进行评估,褒贬不一,有胜于无

文章目录 1.前言2.singleCellNet简介3.singleCellNet demo4.评估结果5.跨物种的评估6.小结 1.前言 书接上回,上篇分享了作者做的基于bulkRNA的细胞分类评估工具CellNet及其更新版PACNet,现在分享的是单细胞数据的细胞分类评估工具singleCellNet&#xf…

NETworkManager:功能强大的网络管理与问题排除工具

关于NETworkManager NETworkManager是一款功能强大的网络管理与问题排除工具,该工具完全开源,可以帮助广大研究人员轻松管理目标网络系统并排除网络疑难问题。 该工具使用远程桌面、PowerShell、PuTTY、TigerVNC或AWS(Systems Manager&#…

OpenHarmony实战开发-如何实现进入页面,点击动画卡片,动画播放并且文本发生变化。

介绍 Lottie是一个适用于OpenHarmony的动画库,它可以解析Adobe After Effects软件通过Bodymovin插件导出的json格式的动画,并在移动设备上进行本地渲染, 可以在各种屏幕尺寸和分辨率上呈现,并且支持动画的交互性,通过…

Linux下的IP地址与主机名

IP和主机名 IP地址和主机名 什么是IP地址 IP地址 每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯 IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及) IPv4版本的地址格式是:a.b…

c++二分排序(向右

描述 给出有 n 个元素的由小到大的序列&#xff0c;请你编程找出某元素最后一次出现的位置。 (n<10^6 输入描述 第一行&#xff1a;一个整数&#xff0c;表示由小到大序列元素个数&#xff1b;下面 n 行&#xff0c;每行一个整数&#xff1b; 最后一行 一个整数 x&#x…