首页 > 解决方案 > Laradock - 添加自定义 npm 包

问题描述

这是一种不正常的事情,但这是一种暂时的解决方案。我在系统和 laravel 应用程序中安装了 laradock。

我从 laradock 使用的所有内容都为我提供了以下命令

docker-compose up -d nginx mysql php-worker workspace redis

我需要在我的 docker 中添加全局安装的节点包(https://www.npmjs.com/package/tiktok-scraper),所以我可以通过执行下面的 php 代码来获得结果

exec('tiktok-scraper user username-n 3 -t json');

这需要可用于 php-fpm 和 php-worker 级别,因为我在作业和端点中需要它,这应该调用刮。

我知道,我做错了,但我尝试将它安装在工作区中,例如使用

docker-compose exec workspace bash
npm i -g tiktok-scraper

在此之后,它在我的工作区中可用(例如我可以运行tiktok-scraper --help),它将向我显示不同的选项。

但这并不能解决问题,因为我exec('tiktok-scraper user username-n 3 -t json');在我的 laravel 应用程序中一无所获。

我对docker不太熟悉,也不确定,我应该在哪个dockerfile中放一些类似的东西

RUN npm i -g tiktok-scraper

任何帮助将不胜感激谢谢

标签: node.jslaraveldockernpmdockerfile

解决方案


要从 php-worker 内部执行 npm 包,您需要将其安装在 php-worker 容器中。但是要让 php exec() 对您的工作区产生影响,这个工作区需要与您的 php-worker 位于同一个容器中。


推荐阅读