У меня есть следующие bitbucket.pipelines.yml
:Почему «apt-get install nodejs -y» не устанавливает npm?
image: python:3.5.1
pipelines:
branches:
master:
- step:
script:
- apt-get update
- apt-get install nodejs -y
- npm install
- npm run build
- python get-pip.py
- pip install boto3==1.3.0
- python s3_upload.py io-master.fromthiscomesthat.co.uk dist io-master
Установив узел, сборка затем терпит неудачу, пытаясь запустить npm
:
+ npm install
bash: npm: command not found
Я полагаю, это потому, что npm
не в пути. Или что-то. Мои навыки Ubuntu/UNIX не самые лучшие.
Как добавить установку в путь?
Update
Ok, после того, как много возился мой YAML теперь выглядит следующим образом:
image: python:3.5.1
pipelines:
branches:
master:
- step:
script:
- apt-get update
- apt-get install lsb-release -y
- curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
- VERSION=node_5.x
- DISTRO="$(lsb-release -s -c)" # <--- error here
- echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | tee /etc/apt/sources.list.d/nodesource.list
- echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | tee -a /etc/apt/sources.list.d/nodesource.list
- apt-get update
- apt-get install nodejs -y
- npm install
- npm run build
- python get-pip.py
- pip install boto3==1.3.0
- python s3_upload.py io-master.fromthiscomesthat.co.uk dist io-master
Теперь у меня есть меньше проблемы. lsb-release
не найден, хотя установщик устанавливает его правильно. Это проблема пути ?; как я могу выполнить это, когда я не знаю, где он установлен? Его трудно отлаживать, потому что он работает в экземпляре докера на Bitbucket.
Это замечательно, спасибо; однако у меня есть еще одна проблема, о которой я говорил выше. Есть идеи? – serlingpa