Команда karma не найдена, когда уже установлена ​​карма

Я использовал node.js для установки кармы. Моя первая попытка не удалась при запуске следующей команды в терминале:

npm install -g karma

Это не удалось, поэтому я решил использовать:

sudo npm install -g karma

После ввода пароля он, казалось, правильно установился. Я вставляю часть вывода установки, может быть, это что-то значит для кого-то, и это будет иметь отношение к моему вопросу. После всех HTTP-сообщений npm это то, что я вижу:

> [email protected] install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node
  SOLINK_MODULE(target) Release/bufferutil.node: Finished
  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node
  SOLINK_MODULE(target) Release/validation.node: Finished
/usr/local/share/npm/bin/karma -> /usr/local/share/npm/lib/node_modules/karma/bin/karma
[email protected] /usr/local/share/npm/lib/node_modules/karma
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── chokid[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected]
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected]
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected])

Затем, когда я пытаюсь запустить следующую команду для создания файла конфигурации кармы с помощью этой команды:

karma init karma.config.js

это сообщение, которое возвращается:

-bash: karma: command not found

Я пробовал ту же команду с sudo перед ней, но получаю тот же результат.

Есть ли у кого-нибудь идеи относительно того, что происходит? Любая помощь приветствуется.

* Обновление! Я решил проверить файл с именем: builderror.log расположенный в:/usr/local/share/npm/lib/ node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws

Это то, что он показывает:

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/eperez/.node-gyp/0.10.5"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.node-gyp"
gyp http GET http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz
gyp http 200 http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz

Ответ 1

@mayankcpdixit дал ответ там в ответ на исходный вопрос OP, но я верну его здесь снова, если кто-то пропустит его.

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

npm install -g karma-cli

Boom. Теперь у вас установлены командные строки кармы. Как и Grunt.


Изменить: Пожалуйста, не забудьте также перенести @mayankcpdixit, он прокомментировал непосредственно исходное сообщение, но на самом деле не ответил на вопрос.

Ответ 2

В вашем ~/.bash_profile (или аналогичном) измените свой PATH, чтобы включить исполняемые файлы, установленные npm:

export PATH="$PATH:/usr/local/share/npm/bin"

У меня была такая же проблема, и я нашел это решение менее трудоемким и эффективным, чем полностью переустановить node.

EDIT, это также сработало для других в bash_profile

export PATH="$PATH:/usr/local/lib/node_modules/karma/bin" 

Ответ 3

Рекомендуется установить карму с помощью командной строки (karma-cli), которая позаботится о том, чтобы получить соответствующую карму. Вы также можете установить другую локальную версию для каждого проекта, над которым работаете, и карма-кли выберет подходящий.

Из страницы кармы installation:

Ввод ./node_modules/karma/bin/karma start отстой, поэтому вам может быть полезно установить karma-cli по всему миру:

npm install -g karma-cli

Теперь убедитесь, что карма установлена, набрав:

karma start

Вы также можете проверить, что карма была установлена, перейдя в этот каталог:

cd /usr/local/lib/node_modules/karma

Удачи!

Ответ 4

Не нужно полностью удалять node.js

Просто

sudo rm -rf /usr/local/lib/node_modules/npm/

Тогда
установить node.js

Тогда
переустановить карму

Это сработало для меня.

Ответ 5

Мне пришлось добавить export PATH="$PATH":/usr/local/lib/node_modules/npm/node_modules/karma/bin после установки кармы с помощью sudo npm install karma.

надеюсь, что это поможет.

Ответ 6

Просто перейдите к test.sh:

Найти: $BASE_DIR/../node_modules/karma/bin/karma start $BASE_DIR/../config/karma.conf.js $*

Заменить на: /usr/local/bin/karma start $BASE_DIR/../config/karma.conf.js $*

Или: karma start $BASE_DIR/../config/karma.conf.js $*

Ответ 7

Я тоже столкнулся с той же проблемой. Похоже, что карма для командной строки - это отдельный пакет, который может быть установлен

npm install -g karma-cli

Ответ 8

При обновлении с Karma 0.10 до 0.12 ссылка на исполняемый файл кармы удаляется.

Вы можете вернуть его с помощью

cd node_modules/.bin
ln -s ../karma/bin/karma karma

Ответ 9

Попробуйте переустановить node.js. Существует множество способов установить его, но я рекомендую загрузить из nodejs.org

Если это не сработает, вы можете попытаться переустановить карму.