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
我必须做到以下几点:
-
brew update
-
brew uninstall node
- 访问https://nodejs.org/en/下载文件;
- 安装下载的文件
对于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
从你的项目目录