为什么 'apt-get install nodejs -y' 没有安装 npm?
Why does 'apt-get install nodejs -y' not install npm?
我有以下 bitbucket.pipelines.yml
:
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 技能不是最好的。
如何将安装添加到路径中?
更新
好的,经过大量修改后,我的 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 的 docker 实例中运行。
Ubuntu 在其默认存储库中包含一个可以使用的 Node.js 版本,但它仅包含节点二进制文件。如果你想安装 npm
,你可以输入:
apt-get install npm
但是,我建议您添加由 NodeSource 维护的 PPA(个人包存档)。这可能比官方 Ubuntu 存储库有更多 Node.js 的最新版本。
您需要安装 PPA 才能访问其内容,然后您可以按照与上述相同的方式安装 nodejs
包。
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install nodejs
使用此选项,nodejs 包包含 nodejs 二进制文件和 npm,因此您无需单独安装 npm。
我有以下 bitbucket.pipelines.yml
:
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 技能不是最好的。
如何将安装添加到路径中?
更新
好的,经过大量修改后,我的 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 的 docker 实例中运行。
Ubuntu 在其默认存储库中包含一个可以使用的 Node.js 版本,但它仅包含节点二进制文件。如果你想安装 npm
,你可以输入:
apt-get install npm
但是,我建议您添加由 NodeSource 维护的 PPA(个人包存档)。这可能比官方 Ubuntu 存储库有更多 Node.js 的最新版本。
您需要安装 PPA 才能访问其内容,然后您可以按照与上述相同的方式安装 nodejs
包。
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install nodejs
使用此选项,nodejs 包包含 nodejs 二进制文件和 npm,因此您无需单独安装 npm。