我真的想将firebase和firebase cli集成到我在Nx中的应用程序,但不知道如何.我使用firebase函数/ hosting/cli-tools等.理想情况下,我希望能够使用firebase cli为托管和云功能,规则等部署各个应用程序.
我试过擦我的.vimrc,卸载所有插件,更新Vim,尝试不同的shell等等,但我绝对不能让'gx'来处理给定的URL.我以前使用它并且它工作正常,它甚至用于打开我的finder目录,如果我在空白线上.我尝试在众多网址上运行"gx",在它们之上,在它们下方,最后添加"/"等等.仍然没有运气.我只是在我的智慧结束时试图弄清楚为什么它在使用时不再有效.有时它会在空白缓冲区中打开一个URL,缓冲区名称等于URL,有时则没有任何反应.如果有人真正知道这个愚蠢的事情到底发生了什么,我将不胜感激.
我使用最新版本的OS X并拥有最新版本的Vim.
UPDATE
我找到了这个问题的答案,但仍然不太清楚为什么它有效,而我的原始方法没有.
原始方法
我安装了iTerm2并被迫设置首选项>配置文件>常规>命令>命令> /usr/local/bin/zsh -l.虽然我跑$ chsh -s /usr/local/bin/zsh,并添加/usr/local/bin/zsh到/etc/shells,我不能得到>情景模式>常规>命令>登录(单选按钮)工作.
我会在终端中收到错误消息,或者窗口只会闪烁并在iTerm中消失.但是,/usr/local/bin/zsh -l在我的脑海中运行我的profile命令应该强制shell以登录模式运行(与我的默认模式相同)但是它在vim中引起了重大问题,我无法获得依赖shell命令的任何shell命令或函数工作(例如:!ls,gx).
回答
而且,我终于设法让所有东西在运行后完美运行chsh -s /bin/bash(例如回到默认值).突然间,我能够使用单选按钮登录终端和iTerm进行登录检查,我的所有问题都消失了.应该注意的是,我尝试chsh -s /usr/local/bin/zsh并收到了第一次没有收到的错误 - 有关非标准登录shell的信息.
这不够好,因为我真的想使用我的Homebrew zsh(和bash)shell,因为它们更新.最后,我找到了答案,我跑了sudo dscl . change /users/$USER UserShell /bin/bash /opt/local/bin/zsh,然后我可以选中登录单选按钮,实际上-zsh第一次使用没有任何问题.
现在有更多问题
我现在的问题是:1.)为什么我的原始配置文件命令/usr/local/bin/zsh -l不像我的默认登录shell那样工作?它们不一样(例如登录shell是登录shell)吗?2.)如果我更新/etc/shells,/usr/local/bin/zsh为什么我会收到"非标准shell错误"?3.)我在阅读MAN页面dscl但不明白当我的登录shell chsh -s /new/shell/path无法正常工作时它是如何改变的?4.)ANYBODY真的知道这里发生了什么事吗?!
如果您是主持人,请告诉我是否应将这些问题分解为不同的帖子,但这是一个大问题,我无法相信我是唯一一个遇到此问题的人,因为我找不到任何问题问答彻底解释了发生了什么.提前谢谢大家的帮助!
我已经尝试了整整三天,让 GAE(标准 - Nodejs)使用 ffmpeg 运行一个从 MOV 到 MP4 的简单视频转码器。我尝试过使用 f Fluent-ffmpeg 启动子进程(例如spawn),但没有任何效果。一旦调用可执行文件,它总是会出错。我已经确认 ffmpeg 已安装,甚至尝试使用 ffmpeg-static 。此外,我让它在我的本地计算机上正常工作(使用上述所有方式)。
我也尝试过记录错误,但没有什么真正有帮助的。我可以看到它通过任何已安装的软件包运行,包括 ffmpeg (系统软件包)。
下面是伪代码...第三步是问题发生的地方。
我用来测试的文件是 6MB...我在 iPhone 上拍摄的 5 秒视频。先感谢您。
更新:我成功地将完全相同的代码部署到 Node Flex 环境,一切都运行良好。我无法在标准环境中得到任何错误来指导我去哪里查找,但我的猜测是它与它如何将我通过管道传输到 GAE 节点标准上的 FFMPEG 的文件存储有关。文档说它是一个使用 RAM 的虚拟文件系统。我很想听听是否有人设法让它在标准环境中工作。
我想将配置字符串传递给管道,但也想注入服务。NesJs 文档描述了如何独立而不是一起完成这两项工作。举个例子:
管道.ts
@Injectable()
export class FileExistsPipe implements PipeTransform {
constructor(private filePath: string, db: DatabaseService) { }
async transform(value: any, metadata: ArgumentMetadata) {
const path = value[this.filePath];
const doesExist = await this.db.file(path).exists()
if(!doesExist) throw new BadRequestException();
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
控制器.ts
@Controller('transcode')
export class TranscodeController {
@Post()
async transcode (
@Body( new FileExistsPipe('input')) transcodeRequest: JobRequest) {
return await this.videoProducer.addJob(transcodeRequest);
}
Run Code Online (Sandbox Code Playgroud)
基本上,我希望能够将属性名称传递到我的管道(例如'input'),然后让管道查找请求中的属性值(例如const path = value[this.filePath]),然后查看该文件是否存在于数据库中。如果没有,则抛出 Bad Request 错误,否则继续。
我面临的问题是我需要 NestJs 来注入我的 DataBaseService。对于当前的示例,它不会,并且我的 IDE 给出一个错误,new FileExistsPipe('input')仅传递了一个参数,但需要两个参数(例如 …
这是一个简单的测试用例脚本,当我从命令行运行时,它在zsh vs bash中的行为有所不同$ source test_script.sh.我不一定知道为什么有一个区别,如果我的shebang明确表示我希望bash运行我的脚本,而不是which命令是zsh中的内置和bash中的程序.(仅供参考 - shebang目录是我的bash程序所在的地方,可能与你的不一样 - 我使用自制程序安装了新版本)
#!/usr/local/bin/bash
if [ "$(which ls)" ]; then
echo "ls command found"
else
echo "ls command not found"
fi
if [ "$(which foo)" ]; then
echo "foo command found"
else
echo "foo command not found"
Run Code Online (Sandbox Code Playgroud)
我source ./test-script.sh从zsh和Bash 运行这个脚本.
zsh中的输出:
ls command found
foo command found
Run Code Online (Sandbox Code Playgroud)
bash输出:
ls command found
foo command not found
Run Code Online (Sandbox Code Playgroud)
我的理解是,如果字符串不为空/空,则默认为test或[ ](它们是相同的)将字符串计算为true.为了显示:
zsh的:
$ which foo
foo not found …Run Code Online (Sandbox Code Playgroud)