2016-10-26 2 views
0

Ich habe folgendes bitbucket.pipelines.yml:Warum installiert "apt-get install nodejs -y" npm nicht?

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 

Knoten installiert haben, die Build dann reißen versucht npm auszuführen:

+ npm install 
bash: npm: command not found 

Ich stelle mir dies, weil npm nicht im Weg ist. Oder so. Meine Ubuntu/UNIX-Fähigkeiten sind nicht die besten.

Wie kann ich die Installation zum Pfad hinzufügen?

aktualisieren

Ok, nach viel mein YAML Hantieren sieht nun wie folgt aus:

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 

Jetzt habe ich ein kleineres Problem. lsb-release wird nicht gefunden, obwohl das Installationsprogramm es korrekt installiert. Ist das ein Pfadproblem? Wie kann ich das ausführen, wenn ich nicht weiß, wo es installiert wird? Es ist schwierig zu debuggen, da es in einer Docker-Instanz auf Bitbucket ausgeführt wird.

Antwort

4

Ubuntu enthält eine Version von Node.js in seinen Standard-Repositories, die verwendet werden kann, enthält jedoch nur die Knoten-Binärdatei. Wenn Sie installieren möchten npm Sie können es tun, indem Sie eingeben:

apt-get install npm

Allerdings empfehle ich Ihnen die PPA (Personal Package Archive) von NodeSource gehalten hinzuzufügen. Dies wird wahrscheinlich mehr aktuelle Versionen von Node.js als die offiziellen Ubuntu-Repositories haben.

Sie müssen das PPA installieren, um auf seinen Inhalt zugreifen zu können, und dann können Sie das Paket nodejs auf die gleiche Weise wie oben installieren.

curl -sL https://deb.nodesource.com/setup | sudo bash - 
sudo apt-get install nodejs 

dieser Option enthält das Paket NodeJS die NodeJS binären sowie npm, so dass Sie nicht separat npm zu installieren.

+0

Das ist toll, danke; Aber ich habe ein anderes Problem, das ich oben beschrieben habe. Irgendwelche Ideen? – serlingpa

Verwandte Themen