Команда 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
Если это не сработает, вы можете попытаться переустановить карму.