当我尝试使用sudo apt-get install npm
安装npm时,我会得到以下错误:
E: 无法定位软件包npm
为什么apt找不到npm? 我正在使用Debian 9,并已运行。
sudo apt-get install nodejs
根据官方的Node.js文档:
Debian Sid(不稳定版)、Jessie(测试版)和Wheezy(wheezy-backports)的官方仓库中也提供了一个Node.js包,“nodejs”。它只安装了nodejs二进制文件。
因此,如果您只输入sudo apt-get install nodejs
,它并不会安装其他好用的工具,如npm。
您需要输入以下命令:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
可选:安装构建工具
编译和安装npm中的本机附加组件,您可能还需要安装构建工具:
sudo apt-get install -y build-essential
更多信息: NodeJs文档
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
,我得到以下输出:
+ apt-get install -y lsb-release > /dev/null 2>&1
执行命令时出错,退出
。 - Levi在Ubuntu for Windows中遇到这个问题,请先尝试运行以下命令
sudo apt-get update
sudo apt-get upgrade
然后
sudo apt-get install npm
我在Debian 9.2上遇到了同样的问题,以下是我采取的解决方法。
安装
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
sudo apt-get install -y nodejs
sudo apt-get install -y npm
检查已安装的版本
node --version
npm --version
本文翻译自"How to install Node.js LTS on Debian 9 stretch",原始链接:http://linuxbsdos.com/2017/06/26/how-to-install-node-js-lts-on-debian-9-stretch/
curl -sL https://deb.nodesource.com/setup_lts.x | sudo bash -
获取最新的 LTS 版本。 - Datz由于您尚未将nodejs存储库添加到系统中,因此您的系统找不到npm软件包。
请按照以下安装步骤进行操作:
将nodejs PPA存储库和Python软件属性添加到我们的系统中。
sudo apt-get install curl python-software-properties
// sudo apt-get install curl software-properties-common
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
sudo apt-get update
然后安装npm
sudo apt-get install nodejs
检查是否已安装npm和node,并且您已准备好使用node.js
node -v
npm -v
如果有人安装NodeJS失败了,可以先尝试移除npm,可能是旧版本的安装出了问题。sudo apt-get remove nodejs
sudo apt-get remove npm
检查是否存在npm或node文件夹,如果发现,请删除它们
which node
which npm
nodejs
不包括npm
,要安装它作为单独的软件包,您必须启用stretch-backports
。echo 'deb http://deb.debian.org/debian stretch-backports main' |
sudo tee /etc/apt/sources.list.d/stretch-backports.list
apt-get update -y
apt-get -t stretch-backports install -y npm
npm
是一个常规软件包,因此从现在开始,这应该可以正常工作。但我们中的一些人在未来一段时间内仍将被困在Stretch版本上。这将解决您的错误。在终端中运行以下命令。这些命令将添加旧版本。您可以稍后更新它们,或者在逐个运行这些命令之前也可以在此更改版本。
sudo apt-get install build-essential
wget http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz
tar -xzf node-v0.8.16.tar.gz
cd node-v0.8.16/
./configure
make
sudo make install
'sudo apt-get install build-essential'
解决了我的问题。 - Wes在我的Jenkins/Jenkins Docker中,使用sudo总是会产生错误:
bash: sudo: command not found
我需要更新仓库列表:
curl -sL https://deb.nodesource.com/setup_10.x | apt-get update
apt-get install nodejs
所有命令行结果都像这样:
root@76e6f92724d1:/# curl -sL https://deb.nodesource.com/setup_10.x | apt-get update
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://deb.debian.org/debian stretch Release [118 kB]
Get:5 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [520 kB]
Get:6 http://deb.debian.org/debian stretch-updates/main amd64 Packages [27.9 kB]
Get:8 http://deb.debian.org/debian stretch Release.gpg [2410 B]
Get:9 http://deb.debian.org/debian stretch/main amd64 Packages [7083 kB]
Get:7 https://packagecloud.io/github/git-lfs/debian stretch InRelease [23.2 kB]
Get:10 https://packagecloud.io/github/git-lfs/debian stretch/main amd64 Packages [4675 B]
Fetched 7965 kB in 20s (393 kB/s)
Reading package lists... Done
root@76e6f92724d1:/# apt-get install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libicu57 libuv1
The following NEW packages will be installed:
libicu57 libuv1 nodejs
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.2 MB of archives.
After this operation, 45.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 libicu57 amd64 57.1-6+deb9u3 [7705 kB]
Get:2 http://deb.debian.org/debian stretch/main amd64 libuv1 amd64 1.9.1-3 [84.4 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 nodejs amd64 4.8.2~dfsg-1 [3440 kB]
Fetched 11.2 MB in 26s (418 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libicu57:amd64.
(Reading database ... 12488 files and directories currently installed.)
Preparing to unpack .../libicu57_57.1-6+deb9u3_amd64.deb ...
Unpacking libicu57:amd64 (57.1-6+deb9u3) ...
Selecting previously unselected package libuv1:amd64.
Preparing to unpack .../libuv1_1.9.1-3_amd64.deb ...
Unpacking libuv1:amd64 (1.9.1-3) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_4.8.2~dfsg-1_amd64.deb ...
Unpacking nodejs (4.8.2~dfsg-1) ...
Setting up libuv1:amd64 (1.9.1-3) ...
Setting up libicu57:amd64 (57.1-6+deb9u3) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up nodejs (4.8.2~dfsg-1) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode
使用以下命令下载存储库密钥:
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
然后设置存储库:
sudo sh -c "echo deb https://deb.nodesource.com/node_8.x cosmic main \
> /etc/apt/sources.list.d/nodesource.list"
sudo apt-get update
sudo apt-get install nodejs
我曾经遇到类似的问题,以下是解决方法。
添加 NodeSource 包签名密钥:
curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
# wget can also be used:
# wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
添加所需的NodeSource存储库:
# Replace with the branch of Node.js or io.js you want to install: node_6.x, node_12.x, etc...
VERSION=node_12.x
# The below command will set this correctly, but if lsb_release isn't available, you can set it manually:
# - For Debian distributions: jessie, sid, etc...
# - For Ubuntu distributions: xenial, bionic, etc...
# - For Debian or Ubuntu derived distributions your best option is to use the codename corresponding to the upstream release your distribution is based off. This is an advanced scenario and unsupported if your distribution is not listed as supported per earlier in this README.
DISTRO="$(lsb_release -s -c)"
echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
更新软件包列表并安装 Node.js
:
sudo apt-get update
sudo apt-get install nodejs
如果您已经安装了Node.js,那么您也有npm。Npm是随同Node.js一起安装的。