无法在ubuntu上安装npm
试图在ubuntu 12.04上安装nodejs和npm。 我用Google搜索并做到了。 现在,我无法在机器上安装npm。
sudo apt-get install npm
这给了我这个
The following packages have unmet dependencies: npm : Depends: nodejs but it is not going to be installed Depends: nodejs-dev Depends: node-request but it is not going to be installed Depends: node-mkdirp but it is not going to be installed Depends: node-minimatch but it is not going to be installed Depends: node-semver but it is not going to be installed Depends: node-ini but it is not going to be installed Depends: node-graceful-fs but it is not going to be installed Depends: node-abbrev but it is not going to be installed Depends: node-nopt but it is not going to be installed Depends: node-fstream but it is not going to be installed Depends: node-rimraf but it is not going to be installed Depends: node-tar but it is not going to be installed Depends: node-which but it is not going to be installed E: Unable to correct problems, you have held broken packages.
这看起来像你可能安装了chris-lea node.js ppa ,这很好。 但是,你没有从那个ppa安装npm,因为它破坏了debian包的工作方式。 相反,只需安装nodejs
。 一旦安装完毕,运行npm -v
你应该会看到它已经安装好了。 如果您没有使用chris-lea ppa更新您在Googled的网页上的问题,以了解如何在Ubuntu上安装nodejs。
尝试安装这样的NodeJ:
sudo apt-get install nodejs
由于NodeJ安装节点和npm
我按照此文档解决了这个问题。
要记住使用npm的指针:
mkdir ~/nodejs/ && cd ~/nodejs sudo apt-get install npm npm install npm update
在开发应用程序时,如果nodejs需要任何特定模块,则运行
cd ~/nodejs npm install modulename #for example sendgrid
有时,模块需要全局安装; 然后用
sudo npm install modulename -g"
要删除模块:
cd ~/nodejs npm uninstall modulename # if locally installed or sudo npm uninstall modulename -g # if globally installed
npm prune
有助于删除未满足的依赖项
问题是注册表,执行此命令,
npm config set registry http://registry.npmjs.org/
我这样工作,检查它是否适合你
首先,您需要安装PPA才能访问其内容:
curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -
(这适用于版本9,这是撰写本文时的最新版本)。
然后
sudo apt-get install nodejs
Apt不能很好地处理依赖冲突,使用snap或aptitude;
sudo aptitude install npm
我不得不对它提出的第一个解决方案按“否”,其中不包括安装npm(必须是aptitude中的错误)然后第二个解决方案我按下了n来检查npm已安装:
npm --version
安装nodejs将安装npm,所以只需删除nodejs然后重新安装它:
sudo apt-get remove nodejs