Bitbucket 管道 运行 npm 失败

Bitbucket Pipelines run npm fails

我已经为通过 YML 文件运行脚本的 Bitbucket 管道配置了一个 PHP 图像。我有一个 laravel 存储库并想执行构建命令。

尽管问题在于我的脚本在运行 npm install 时失败了。

bash: npm: command not found

# This is a sample build configuration for PHP.
# Check our guides at https://confluence.atlassian.com/x/e8YWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: php:7.1.1

pipelines:
  default:
    - step:
        caches:
          - composer
        script:
          - apt-get update && apt-get install -y unzip
          - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
          - composer install
          - npm install --global gulp-cli
          - npm install
          - gulp --production

这应该有所帮助。它将安装 Node v8 和 NPM v5。放在npm install --global gulp-cli

之前
script:
    - curl -sL https://deb.nodesource.com/setup_8.x | bash -
    - apt-get install -y nodejs

你的问题出在这里:

您正在使用

image: php:7.1.1 docker image.

其中不包含nodejs和npm。 正如您在 Dockerfile 中看到的那样:

https://github.com/docker-library/php/blob/eadc27f12cfec58e270f8e37cd1b4ae9abcbb4eb/7.1/Dockerfile

您有多种解决问题的方法。

或者:

  • 如@mazedlx

    所述,使用包管理器安装依赖项
  • 使用另一个包含 npm 和 nodejs 的 dockerimage,例如:https://hub.docker.com/r/_/node/

    • image: php:7.1.1 更改为 f.e。 image: node:latest