Назад | Перейти на главную страницу

nodejs перезаписал / usr / bin / который, как исправить?

У меня недавно установлен centos 7 только с некоторыми проектами nodejs. Затем я нашел which команда не работает должным образом.

# which ls
which: illegal option -- -
usage: which [-as] program ...

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

но это работает:

# /usr/bin/which ls
/usr/bin/ls

Затем я сделал cat /usr/bin/which, обнаружил, что он был заменен программой nodejs!

#!/usr/bin/env node
var which = require("../")
if (process.argv.length < 3)
  usage()

function usage () {
  console.error('usage: which [-as] program ...')
  process.exit(1)
}
... ...

which команда - это программа узла

# ls -la /usr/bin/which
lrwxrwxrwx 1 root root 63 Jul  5 20:43 /usr/bin/which -> ../local/share/.config/yarn/global/node_modules/which/bin/which

Я запутался, черт возьми, какого черта nodejs заменяет отлично работающую системную команду?

Теперь вопрос, как это исправить? Могу я просто удалить файл и скопировать which с другого компа (вм)?

Обновить:

Вот как я установил nodejs и yarn. Остальные модули были установлены в директории проекта.

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum install nodejs

sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
yum install yarn

yarn global add nuxt
yarn global add cross-env
npm install pm2 -g

У меня такая же проблема при установке пряжи в Fedora.

Я понимаю эту команду который, вызов без использования абсолютного пути, на самом деле является псевдонимом.

# alias which
alias which='(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'

Используя следующую команду rpm в Fedora, я также мог подтвердить / usr / bin / который софт линк был заменен.

# rpm -V which
....L....    /usr/bin/which

Решил проблему переустановкой который пакет.

sudo yum reinstall which

Я не думаю, что nodejs должен заменять важную системную программу, поэтому гость это было проблемой в команде разработчиков nodejs.

PS: Извините за мой английский.