sudo:npm:命令未find

我正在尝试升级到最新版本的节点。 我在http://davidwalsh.name/upgrade-nodejs下指令

但是当我这样做:

sudo npm install -gn 

我得到的错误:

 sudo: npm: command not found 

npm的作品没有sudo。 当我做:

 whereis node 

我懂了:

 node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node 

当我运行:

 which npm 

显示::

 /usr/local/node/bin/npm 

我在https://stackoverflow.com/a/5062718/1246159尝试了解决scheme

但是我仍然得到相同的错误。 我还查看了/ etc / sudoers文件,相关的行是:

 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 

这对我来说很好。 我怎么可能得到NPM与sudo命令工作?

npm文件应该在/usr/local/bin/npm 。 如果不存在,请在其网站上再次安装node.js。 这在我的情况下工作。

我必须做

 sudo apt-get install npm 

为我工作。

对于MAC用户,下面的步骤对我来说很合适。

 $ brew update $ brew uninstall node $ brew install node $ brew postinstall 

我有同样的问题; 这里是解决它的命令:

  • sudo ln -s /usr/local/bin/node /usr/bin/node
  • sudo ln -s /usr/local/lib/node /usr/lib/node
  • sudo ln -s /usr/local/bin/npm /usr/bin/npm
  • sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

警告(编辑)

做一个chmod 777是一个真正的肮脏的解决scheme。 先试一试,一试一试,停一试:

  • $ sudo chmod -R 777 /usr/local/lib/node_modules/npm
  • $ sudo chmod -R 777 /usr/local/lib/node_modules
  • $ sudo chmod g+w /usr/local/lib
  • $ sudo chmod g+rwx /usr/local/lib

$ brew postinstall node是我唯一会遇到问题的安装部分

 Permission denied - /usr/local/lib/node_modules/npm/.github 

所以我

 // !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !! $ sudo chmod -R 777 /usr/local/lib $ brew postinstall node 

和中提琴,现在npm链接

 $ npm -v 3.10.10 

额外

如果您在lib上使用-R 777 ,我build议将嵌套文件和目录设置为默认设置:

  • $ find /usr/local/lib -type f -print -exec chmod 644 {} \;
  • $ find /usr/local/lib -type d -print -exec chmod 755 {} \;
  • $ chmod /usr/local/lib 755

我必须做到以下几点:

  1. brew update
  2. brew uninstall node
  3. 访问https://nodejs.org/en/下载文件;
  4. 安装下载的文件

对于CentOS用户来说,这对我来说很合适:

 sudo yum install npm 

为了以sudo权限全局安装npm包, /usr/bin/npm应该可用。 如果npm存在于其他目录中,请创build一个软链接,如下所示:

 sudo ln -s /usr/local/bin/npm /usr/bin/npm 

它适用于Fedora 25,node8.0.0和npm5.0.0

我有同样的问题,其原因是npm包pipe理器安装节点时没有安装。 这是由于以下错误导致的:在安装过程中,有一个称为“自定义安装”的步骤,在这里您可以select以下选项之一:1)Node.js运行时(默认情况下为选中状态)。 2)npm包pipe理器3)在线文档快捷方式。 4)添加到path。 如果继续,因为它是npm包pipe理器将不会被安装,因此你会得到的错误。

解决scheme:当你得到这些选项时,selectnpm包pipe理器。 这对我有效。

我在CentOS上也是一样的。

which npm给:

 $ which npm /usr/local/bin/npm 

哪里

 $ sudo which npm which: no npm in (/sbin:/bin:/usr/sbin:/usr/bin) 

我得到相同的节点。

所以它可能是一个问题,root不检查任何二进制文件/usr/local/bin

如果你已经下载了节点包并解压缩到某处,你可以简单地在/usr/local/bin创build符号链接。

 /usr/local/bin/npm -> /opt/node-v4.6.0-linux-x64/bin/npm /usr/local/bin/node -> /opt/node-v4.6.0-linux-x64/bin/node 

在安装节点后inputdebian

 curl -k -O -L https://npmjs.org/install.sh ln -s /usr/bin/nodejs /usr/bin/node sh install.sh 

我通过解决了这个问题

 apt-get install npm2deb 

通过包pipe理器安装Node.js的指令 :

  • Arch Linux
  • 基于Debian和Ubuntu的Linux发行版
  • Enterprise Linux和Fedora
  • FreeBSD和OpenBSD
  • Gentoo的
  • NetBSD的
  • openSUSE和SLE
  • OSX
  • SmartOS和Illumos
  • 无效的Linux
  • 视窗

使用visudo将npm二进制path附加到sudopath并编辑“secure_path”

现在“sudo npm”的作品

如果使用nvm安装node / npm,则必须运行nvm环境configuration文件,然后才能使用任一软件包。

这通常在〜/ .nvm / nvm.sh中find。

要自动运行,请包括:

 source ~/.nvm/nvm.sh 

在用户的.bash_profile文件中

如果您想要使用该用户的sudo,请确保包含-i参数以使sudo设置用户环境。 例如

 sudo -iu jenkins npm install grunt-cli 

完全删除节点:

  brew uninstall --force node 

再次安装:

 brew install node; which node # => /usr/local/bin/node export NODE_PATH='/usr/local/lib/node_modules' 

只需重新安装。

在RHEL,CentOS和Fedora上

 sudo yum remove nodejs npm sudo dnf remove nodejs npm [On Fedora 22+ versions] 

然后

 yum -y install nodejs npm dnf -y install nodejs npm [On Fedora 22+ versions] 

简单!节点和npm现在就像一个魅力!

安装node.js并简单运行

 npm install -g bower 

从你的项目目录