在我的一个项目中,我正在用Firebase试验Circle CI。为了使用firebase
命令进行部署,首先需要安装firebase-tools
。
在我的config.yml文件中,下面是- simplified:
version: 2.1
orbs:
node: circleci/node@1.1.6
jobs:
install-and-build:
executor:
name: node/default
steps:
- node/with-cache:
steps:
- checkout
- run: npm install
- run: sudo npm install -g firebase-tools
- run: npm run-script build
deploy:
executor:
name: node/default
steps:
- node/with-cache:
steps:
- run: firebase --version
workflows:
build-and-deploy:
jobs:
- install-and-build:
requires:
- install-dependencies
- deploy:
requires:
- install-and-build
问题:
一旦npm install -g firebase-tools
命令处于不同的步骤,则它最近无法识别firebase
命令并抛出以下错误:
/bin/bash:firebase:未找到命令
我找到了一个解决方案,通过在使用之前移动firebase-tools
安装步骤来消除这个问题:
- node/with-cache:
steps:
- run: sudo npm install -g firebase-tools
- run: firebase --version
问题:
我会说这个解决方案只是一个变通方案,而不是一个合适的解决方案,比如将firebase-tools
安装步骤移动到install-and-build
安装步骤中并在部署步骤中使用。根据我的研究,我首先尝试了以下想法:
1.基于此SO question将alias
创建为alias firebase="
npm config get prefix/bin/firebase"
。
1.运行npm get prefix
,根据此SO question确定哪个文件夹包含firebase
命令。
1.将firebase-tools
安装为devDependency,并使用save_cache
和restore_cache
选项从node_modules
文件夹读取。
可能问题是别的什么我看不出来,他们都没有帮助,所以我的问题:
1.是否有任何解决方案可以帮助管道在任何之前的步骤中安装后访问firebase
命令?
1.在部署步骤中包含firebase-tools
安装步骤可以吗?出于某种原因,我不喜欢这样。
有人能给我讲讲这个主题吗?任何想法都是赞赏,谢谢!
1条答案
按热度按时间rslzwgfq1#
为了让firebase工具在我的圈子里启动和运行。我使用了以下代码: