小编tom*_*c38的帖子

如何在Nrwl Nx中集成firebase

我真的想将firebase和firebase cli集成到我在Nx中的应用程序,但不知道如何.我使用firebase函数/ hosting/cli-tools等.理想情况下,我希望能够使用firebase cli为托管和云功能,规则等部署各个应用程序.

firebase firebase-hosting angular nrwl

8
推荐指数
1
解决办法
539
查看次数

如何在Vim中启用'gx'?我的工作不再适用

我试过擦我的.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真的知道这里发生了什么事吗?!

如果您是主持人,请告诉我是否应将这些问题分解为不同的帖子,但这是一个大问题,我无法相信我是唯一一个遇到此问题的人,因为我找不到任何问题问答彻底解释了发生了什么.提前谢谢大家的帮助!

vim netrw vim-plugin

5
推荐指数
1
解决办法
964
查看次数

ffmpeg 无法在 Google App Engine 标准 Nodejs 中正确执行

我已经尝试了整整三天,让 GAE(标准 - Nodejs)使用 ffmpeg 运行一个从 MOV 到 MP4 的简单视频转码器。我尝试过使用 f Fluent-ffmpeg 启动子进程(例如spawn),但没有任何效果。一旦调用可执行文件,它总是会出错。我已经确认 ffmpeg 已安装,甚至尝试使用 ffmpeg-static 。此外,我让它在我的本地计算机上正常工作(使用上述所有方式)。

我也尝试过记录错误,但没有什么真正有帮助的。我可以看到它通过任何已安装的软件包运行,包括 ffmpeg (系统软件包)。

下面是伪代码...第三步是问题发生的地方。

  1. 将文件名发送到 GAE 端点
  2. 将文件从谷歌云存储下载到临时文件
  3. 使用ffmpeg转码
  4. 将临时文件上传到谷歌云存储
  5. 删除旧的谷歌云存储文件
  6. 删除临时文件

我用来测试的文件是 6MB...我在 iPhone 上拍摄的 5 秒视频。先感谢您。

更新:我成功地将完全相同的代码部署到 Node Flex 环境,一切都运行良好。我无法在标准环境中得到任何错误来指导我去哪里查找,但我的猜测是它与它如何将我通过管道传输到 GAE 节点标准上的 FFMPEG 的文件存储有关。文档说它是一个使用 RAM 的虚拟文件系统。我很想听听是否有人设法让它在标准环境中工作。

google-app-engine ffmpeg fluent-ffmpeg

5
推荐指数
1
解决办法
2583
查看次数

如何使用配置对象和依赖项创建 NestJs Pipe?

我想将配置字符串传递给管道,但也想注入服务。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')仅传递了一个参数,但需要两个参数(例如 …

nestjs

4
推荐指数
1
解决办法
2207
查看次数

默认测试表达式在zsh vs bash中表现不同 - 为什么?

这是一个简单的测试用例脚本,当我从命令行运行时,它在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)

bash zsh

2
推荐指数
1
解决办法
199
查看次数