Chạy nghiệp sau khi cài đặt dẫn đến 'nghiệp' không được công nhận là lệnh nội bộ hoặc lệnh bên ngoài


108

Tôi đang cố gắng chạy karma như một phần của dự án hạt giống góc cạnh , sau khi cài đặt karma bằng cách sử dụng

npm install -g karma

Tôi có:

'karma' is not recognized as an internal or external command, operable program or batch file.

khi tôi đang cố chạy test.bat từ các tập lệnh angle-client \ scripts, thì nội dung của tệp này là:

đặt BASE_DIR =% ~ dp0

nghiệp bắt đầu "% BASE_DIR% .. \ config \ karma.conf.js"% *

Tôi cũng đã cố gắng điều hướng đến "\ AppData \ Roaming \ npm \ node_modules \ karma \ bin" và thấy tệp karma, khi tôi cố gắng chạy nó, tôi lại gặp:

'karma' không được công nhận là một lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp hàng loạt.

Bất kỳ đề xuất? Nếu không xin vui lòng đề nghị làm thế nào để sử dụng hoa nhài mà không có nghiệp.

Cảm ơn.


2
Hãy thửnpm install karma -g
Siva Tumma

@lior karma là một từ đồng nghĩa với karma-runner, vì vậy nó tự động được ánh xạ khi bạn chỉnh sửa.
Flexo

@Flexo, cảm ơn. Tôi không biết điều đó, tuy nhiên tôi tin rằng nó cũng cần phải được gắn thẻ cụ thể như html sẽ bao gồm html5 (có thể?) Hoặc thậm chí html5-canvas
Lior Elrom

Câu trả lời:


319

Giao diện dòng lệnh nằm trong một gói riêng biệt.

Để cài đặt sử dụng này:

npm install -g karma-cli


17
Người đàn ông họ thực sự không giữ cho những tài liệu này được cập nhật: / karma-runner.github.io/0.8/intro/installation.html (3 năm sau câu trả lời này, tài liệu nói rằng npm install -g karma && karma startkhông hoạt động).
Ngừng phỉ báng Monica Cellio

2
@sequoiamcdowell tài liệu cho Karma đã được tạo phiên bản, bạn sẽ không thấy bất kỳ bản cập nhật nào cho phiên bản cũ. Kiểm tra tài liệu để biết bản phát hành cuối cùng karma-runner.github.io/0.12/intro/installation.html
pkozlowski.opensource

đảm bảo để chạy như admin
Jerry

1
Tôi không thể tin phiếu này thông qua các vết nứt
Cody

Tôi đã dành ít nhất một giờ để tìm kiếm một giải pháp. Tôi nghĩ đó là một vấn đề khung .net. Giải pháp này sẽ hoạt động ngay cả khi bạn gặp lỗi khung .net: "MSBUILD: lỗi MSB3428: Không thể tải thành phần Visual C ++" VCBuild.exe ". Để khắc phục điều này, 1) cài đặt SDK .NET Framew ork 2.0, 2) cài đặt Microsoft Visual Studio 2005 hoặc 3) thêm vị trí của thành phần vào đường dẫn hệ thống nếu nó được cài đặt ở nơi khác. " May mắn thay, tôi đã tìm thấy giải pháp của bạn và đã nhận được nghiệp chướng. Cảm ơn bạn!
ThinkBonobo

17

nghiệp-cli

Bạn nên cài đặt karma với Giao diện Dòng lệnh ( karma-cli ) của nó, nó sẽ đảm nhiệm việc tìm nạp nghiệp thích hợp. Bạn cũng có thể cài đặt một phiên bản cục bộ khác dành riêng cho từng dự án bạn đang thực hiện và karma-cli sẽ chọn phiên bản thích hợp.

Từ trang cài đặt nghiệp :

Việc nhập ./node_modules/karma/bin/karma start rất tệ nên bạn có thể thấy hữu ích khi cài đặt karma-cli trên toàn cầu:

npm install -g karma-cli

Bây giờ, hãy kiểm tra xem nghiệp đã được cài đặt hay chưa bằng cách gõ:

which karma  //echo something like: /usr/local/bin/karma

và kiểm tra xem máy chủ karma đang hoạt động (ctr + c để thoát):

karma start 

Bạn cũng có thể kiểm tra xem karma đã được cài đặt hay chưa bằng cách vào thư mục này:

cd /usr/local/lib/node_modules/karma

Chúc may mắn!


7

Trên cửa sổ khi bạn cài đặt npm (không phải trên toàn cục - vì vậy không có -gcờ), các lệnh thực thi được liên kết trong node_modules\.binthư mục.

Ví dụ:

powershell> .\node_modules\.bin\karma start

powershell> .\node_modules\.bin\karma run


Tôi đã nhận được các lỗi bổ sung dựa trên quyền khi làm theo cách này, vì vậy tôi phải chạy tệp cmd thực tế .\node_modules\.bin\karma.cmd startvà điều đó đã hiệu quả với tôi
Nick Tallents

6

Tôi đã gặp vấn đề tương tự và đã khắc phục nó bằng cách sửa biến môi trường PATH của mình.

BƯỚC 1: đi đến con đường sau và đảm bảo karma.cmd hiện diện tại vị trí được đưa ra bên dưới

[Đường dẫn thư mục Nodejs] \ node_modules \ .bin <=> C: \ Program Files \ nodejs \ node_modules \ .bin

BƯỚC 2: Nếu có, hãy chuyển sang BƯỚC 3, Nếu không có hãy chạy lệnh sau npm install -g karma

BƯỚC 3: Mở các biến môi trường và chỉnh sửa PATH

BƯỚC 4: Thêm phần sau vào cuối:

[Đường dẫn thư mục Nodejs] \ node_modules \ .bin; <=> "C: \ Program Files \ nodejs \ node_modules \ .bin"

Đăng xuất phiên của bạn và nó sẽ hoạt động chắc chắn.


4

Dựa trên thư mục của \AppData\Roamingbạn đang sử dụng , bạn đang ở trên Windows và lỗi này thường là do đường dẫn đến các khối cầu npm không có trong Windows PATHhoặc NODE_PATHcác biến môi trường.

Sử dụng SETđể kiểm tra các giá trị bạn đang sử dụng cho các đường dẫn và nếu thư mục npm của bạn không được liệt kê, đó sẽ là vấn đề.

Nếu bạn không muốn npm lưu vào thư mục này, hãy kiểm tra các tùy chọn cấu hình npmtài liệu thư mục npm để xem bạn có thể thay đổi những gì về vấn đề này ...


Tôi đã cố gắng thêm npm vào đường dẫn bằng lệnh sau "set PATH =" C: \ Users \ Liad \ AppData \ Roaming \ npm;% PATH% ", vẫn không có gì, bạn có thể cho tôi biết vị trí khai quật của nghiệp tập tin của bạn thực hiện?
Liad Livnat

Trên hệ thống Windows của mình, tôi đã đặt npm để sử dụng C:\npm. Một số công cụ Windows tôi làm trên XP có vấn đề về độ dài đường dẫn, vì vậy tôi muốn giữ cho tổng đường dẫn càng ngắn càng tốt. Nếu bạn đang sử dụng XP, đó có thể là một yếu tố góp phần ... và cũng có thể trên các phiên bản Windows mới hơn (???).
Matthew Bakaitis

2

'karma' không được công nhận là một lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp hàng loạt.

Nếu giải pháp được đề cập ở trên không hoạt động, nguyên nhân của sự cố là phiên bản trước của nodejs. Vì vậy, gỡ cài đặt phiên bản trước của nodejs và cài đặt lại phiên bản mới nhất. Nó sẽ giải quyết vấn đề của bạn. Khi tôi đối mặt với điều tương tự và bằng cách thực hiện những thay đổi ở trên, nó đã hiệu quả với tôi.

Cảm ơn.



-1

Tôi đã 'karma' is not recognized as an internal or external command, operable program or batch file.gặp vấn đề tương tự: khi tôi cố gắng cài đặt nó trực tiếp vào tệp dự án của mình. Khi tôi từng npm install -g karma-clicài đặt toàn cầu, mọi thứ đều hoạt động tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.