无法在PHP Docker容器中安装正确的nodejs版本

时间:2019-04-10 16:22:29

标签: docker

我目前正在尝试从Symfony3迁移到Symfony4,为此,我需要在docker上构建的PHP映像中安装nodejs和yarn(以便可以使用webpack encore)。

问题是,无论我在PHP映像构建中进行了什么更改,它都不会安装最新(或任何最新版本的)nodejs,并且显示v0.28.x(而不是10.x)。

这是我当前的版本:

FROM php:7.1.5-fpm

ADD ini /usr/conf/php/ini

# Installing extensions
RUN set -ex; \
    \
    apt-get update; \
    apt-get install -y \
        libjpeg-dev \
        libpng12-dev \
        libmcrypt-dev \
        ssmtp \ 
        apt-transport-https \
        zip \
        unzip; \
    \
    rm -rf /var/lib/apt/lists/*; \
    \
    docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
    docker-php-ext-install gd mysqli opcache pdo_mysql json mcrypt; \
        pecl install -o -f xdebug redis \
        && rm -rf /tmp/pear; 

# Appending configuration to respective files
RUN \
    # PHP ini
    cat /usr/conf/php/ini/php.ini > /usr/local/etc/php/php.ini; \
    # OpCache
    cat /usr/conf/php/ini/opcache.ini > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
    # Xdebug
    cat /usr/conf/php/ini/xdebug.ini > /usr/local/etc/php/conf.d/xdebug.ini; \
    # Redis
    cat /usr/conf/php/ini/redis.ini > /usr/local/etc/php/conf.d/redis.ini;

# Composer installation
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
    php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') \
    { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"; \
    php composer-setup.php; \
    php -r "unlink('composer-setup.php');" \
    mv /var/www/html/composer.phar .; 

CMD ["php-fpm"]
EXPOSE 9000

到目前为止,我已经尝试过:

1)将其添加到脚本第一部分的 apt-get install

2)添加一个 RUN 调用并从我认为是官方的nodejs ubuntu软件包存储库中安装它,但是无论如何,它都行不通,仍然停留在那个0.28.x版本中

有没有人?

0 个答案:

没有答案