无法使用 docker-compose 安装 gulp id docker 容器:任务 'install' 不在您的 gulp 文件中

Can't install gulp id docker container with docker-compose : Task 'install' is not in your gulpfile

我正在尝试获取 dockervel(docker 用于 LAravel 环境) 图像,我正在按照此处的步骤操作: http://www.spiralout.eu/2015/12/dockervel-laravel-development.html

当我进入步骤 dnodejs gulp install 我得到这个:

dnodejs gulp install
[22:36:37] Using gulpfile /var/www/gulpfile.js
[22:36:37] Task 'install' is not in your gulpfile
[22:36:37] Please check the documentation for proper gulpfile formatting

而 aliases.sh 是:

alias dbuild='docker-compose build'
alias dup='docker-compose up -d'
alias dstop='docker-compose stop'
alias drun='docker-compose run -d --service-ports nginx'
alias dcomposer='docker-compose run composer'
alias dcomposer-create='docker-compose run composer create-project laravel/laravel /var/www --prefer-dist'
alias dpermit='chmod -R 777 www'
alias dartisan='docker-compose run artisan'
alias dnodejs='docker-compose run nodejs'
alias dgulp='docker-compose run nodejs gulp'
alias dgulp-watch='docker-compose run -d nodejs gulp watch'
alias dps='docker ps'
alias dpsa='docker ps -a'
alias dstats='docker stats $(docker ps -q)'
alias dkill='docker stop $(docker ps -q)'
alias drm='docker rm $(docker ps -a -q)'

有人看到问题了吗?

当我运行

$ docker-compose run nodejs gulp

[23:08:04] Using gulpfile /var/www/gulpfile.js
[23:08:04] Starting 'default'...
[23:08:04] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/app.scss


Saving To...
   - public/css/app.css

[23:08:05] Finished 'default' after 1.39 s
[23:08:05] gulp-notify: [Laravel Elixir] Sass Compiled!
[23:08:05] gulp-notify: [Error in notifier] Error in plugin 'gulp-notify'
Message:
    not found: notify-send
Details:
    code: ENOENT
[23:08:05] Finished 'sass' after 1.59 s

我相信您对命令感到困惑。

您会注意到,别名中没有 dnodejs gulp install 命令。

我认为您上面 运行 的意图实际上是两个单独的命令:

dnodejs 执行 docker-compose run nodejsdgulp 执行 docker-compose run nodejs gulp.

但值得注意的是,dgulpdnodejs 的扩展,运行 也是 gulp,因此您不需要 运行 两者。

编辑关于 gulp-notify

这没什么大不了的,因为它总是会失败,默认情况下命令行中没有通知系统,也无法将通知远程发送到您的计算机,即 docker 环境之外.

它本质上是让您知道它尝试发送通知,但失败了。在主机上,它通过本机通知系统发送通知。

不过其他一切看起来都运行良好!

正确的命令是:

dnodejs npm install gulp