'không tìm thấy lệnh tsc' khi biên dịch tập lệnh


83

Tôi muốn cài đặt typecript, vì vậy tôi đã sử dụng lệnh sau:

npm install -g typescript 

và kiểm tra tsc --version, nhưng nó chỉ hiển thị 'lệnh tsc không tìm thấy'. Tôi đã thử nhiều cách như được đề xuất trong stackoverflow, github và các trang web khác. nhưng nó không hoạt động. Làm thế nào tôi có thể biết bản ghi được cài đặt và nó ở đâu.

hệ điều hành của tôi là Unix, OS X El Capitan 10.11.6, phiên bản nút là 4.4.3, phiên bản npm là 3.10.5


1
Bao gồm hệ điều hành và phiên bản của nó cũng như phiên bản Node.js và NPM trong câu hỏi của bạn.
cartant

5
Nhiều khả năng bạn gặp sự cố với thiết lập nút / npm của mình; ví dụ: thư mục npm liên quan không có trên đường dẫn của bạn. Nơi cài đặt bản ghi tùy thuộc vào môi trường của bạn, nhưng bạn có thể bắt đầu với npm list -g. Hoặc thử npm config get prefix(các gói của bạn thường sẽ nằm trong binthư mục bên dưới). Cũng xem câu hỏi này .

Cảm ơn bạn, tôi hiểu rồi. Tôi quên xuất đường dẫn tiền tố.
Aung Thet

Bạn cũng có thể kiểm tra câu trả lời của tôi
Zameer Ansari

Câu trả lời:


114

Một vài mẹo theo thứ tự

  • khởi động lại thiết bị đầu cuối
  • khởi động lại máy
  • cài đặt lại nodejs + rồi chạy npm install typescript -g

Nếu nó vẫn không hoạt động, hãy chạy npm config get prefixđể xem nơi npm install -g đang đặt tệp (nối binvào đầu ra) và đảm bảo rằng chúng nằm trong đường dẫn (thiết lập nút js thực hiện điều này. Có thể bạn quên đánh dấu vào tùy chọn đó).


3
Cảm ơn tôi đã nhận nó. Chắc chắn, tôi đã quên gán đường dẫn `xuất PATH = / prefix'sPath / bin: $ PATH 'và ( docs.npmjs.com/getting-started/fixing-npm-permissions ) cũng do trang web này đề xuất như thế này. Tôi đã sử dụng cả một ngày cho việc này :).
Aung Thet

stackoverflow.com/a/46783952/495157 - Câu trả lời này có nhiều thông tin hơn - đặc biệt nếu bạn phát triển Angular / Ionic.
JGFMK

1
Tôi đã phải gỡ cài đặt node / npm. Đã sử dụng bia để cài đặt NVM và sau đó cài đặt nút bằng cách sử dụng nvm install nodethen sudo npm install -g typescriptđể bắt tsc --versionđầu hoạt động
alex

1
Tôi chỉ làm "NPM cài đặt nguyên cảo -g" và nó đã làm việc một cách hoàn hảo
pixparker

Nâng cấp phiên bản nút đã giúp tôi.
JavaDeveloper

29

Tôi phải làm điều này:

npx tsc app.ts

2
Điều này đã giúp tôi, nhưng để làm rõ, tôi phải làm npm install --save-dev typescript && npx tsc --version && npx tsc <filename>. Điều này đã được cài đặt tsc, thử nghiệm thành công --versionvà biên dịch thành công tstệp của tôi thành một jstệp.
Jason Fry

Điều này đã làm việc, nhưng tôi chỉ mới sử dụng npx tsc. Việc thêm tsc có thể cần sử dụng npx.
foureyedraven

8

Nếu lệnh TSC của bạn không được tìm thấy trong MacOS sau khi cài đặt đúng TypeScript (sử dụng lệnh sau:, $ sudo npm install -g typescriptthì hãy đảm bảo rằng /binđường dẫn Node được thêm vào PATHbiến trong .bash_profile.

Mở .bash_profilebằng terminal: $ open ~ / .bash_profile;

Chỉnh sửa / Xác minh hồ sơ bash để bao gồm dòng sau ( sử dụng trình soạn thảo văn bản yêu thích của bạn ):

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

Nạp hồ sơ cá nhân bash mới nhất sử dụng thiết bị đầu cuối: source ~/.bash_profile;

Cuối cùng, hãy thử các lệnh: $ tsc --version.


7

tất cả bạn đang làm rối tung các cài đặt toàn cục và tệp -path. Chỉ cần một lỗi nhỏ có thể làm hỏng mọi dự án bạn đã từng viết, và bạn sẽ dành phần thời gian còn lại để cố gắng khiến console.log ('hi') hoạt động trở lại: - =.

Nếu bạn đã chạy npm i stylescript --save-dev trong dự án của mình - chỉ cần thử chạy:

npx tsc

và xem liệu nó có hoạt động hay không trước khi gây rối với nội dung toàn cầu (trừ khi bạn thực sự biết mình đang làm gì)

hoan hô


5

Tôi đã tìm thấy bản sửa lỗi dễ dàng cho Mac. Chỉ cần chạy các lệnh sau:

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript

Không có gì hoạt động ngoại trừ điều này cho tôi.


3

Tôi biết đây là một câu hỏi cũ, nhưng tôi đã gặp vấn đề tương tự trên Ubuntu 19.10 LTS.

Để giải quyết vấn đề này, tôi đã chạy lệnh sau:

$ sudo apt install node-typescript

Sau đó, tôi đã có thể sử dụng tsc.

Tôi hy vọng nó sẽ giúp :)


3

Câu trả lời này dành riêng cho iTermV2 trên MAC

  1. Trước hết, tôi cần cài đặt như sudo (quản trị viên) trong quá trình cài đặt NPM

    sudo npm install -g stylescript

  2. NPM cài đặt các thư viện trong /usr/local/Cellar/node/<your latest version>/lib/node_modules/typescriptthư mục và các liên kết tượng trưng tại/usr/local/Cellar/node/<your latest version>/bin/tsc

do đó tôi đã đi ~ / .zshrc (.bashrc, nếu bạn sử dụng bash) và thêm vào /usr/local/Cellar/node/<your latest version>/bin$ PATH.

  1. tải lại hồ sơ shell qua source ~/.zshrc(.bashrc trong trường hợp của bạn)

Hm tốt để biết. Nhưng ai sẽ chăm sóc các liên kết này từ bây giờ?
Chris Pillen

3

Sau khi tìm tất cả các giải pháp cho vấn đề nhỏ này chỉ dành cho macOS.
Cuối cùng, tôi đã nhận TSC của mình hoạt động trên MacBook pro.

Đây có thể là giải pháp tốt nhất mà tôi tìm ra.

Đối với tất cả người dùng macOS, thay vì cài đặt typecript bằng npm, bạn có thể cài đặt typecript bằng homebrew.

-> brew install typescript

Vui lòng xem bản chụp màn hình đính kèm để tham khảo.

Cảm ơn bạn.

nhập mô tả hình ảnh ở đây


2

Giải pháp duy nhất phù hợp với tôi là đặt npx tsc -v hoặc cho npx tsc salida.ts biên dịch

"salida.ts" là tên của tệp


0

Giải pháp không dành cho quản trị viên

Tôi không có đặc quyền quản trị vì máy này do công việc của tôi cấp.

  • lấy đường dẫn nơi các mô-đun nút đang được cài đặt sao chép vào khay nhớ tạm
    • npm config get prefix | clip
    • không có clip? chỉ cần sao chép đầu ra từnpm config get prefix
  • thêm đường dẫn đã sao chép vào các biến môi trường
    • phương pháp ưa thích của tôi (Windows)
    • (Ctrl + R), dán rundll32 sysdm.cpl,EditEnvironmentVariables
    • trong Biến người dùng, nhấp đúp vào Đường dẫn > Mới > Dán đường dẫn đã sao chép

0

Không có câu trả lời nào ở trên giải quyết được vấn đề của tôi. Thực tế là dự án của tôi không được cài đặt script kiểu. Nhưng tại địa phương tôi đã chạy npm install -g typescript. Vì vậy, tôi không nhận thấy rằng sự phụ thuộc vào nút typecript không có trong json gói của tôi.

Khi tôi đẩy nó sang phía máy chủ và chạy npm install, sau đó npx tsctôi nhận được một tsc không tìm thấy. Trên thực tế, máy chủ từ xa không được cài đặt bản ghi. Điều đó đã bị ẩn do cài đặt bản ghi chung cục bộ của tôi.


0
  1. Kiểm tra npmphiên bản của bạn

  2. Nếu nó không được cài đặt đúng cách, hãy cài đặt nó trước

  3. chạy lệnh này npm install typescript -g

  4. hiện nay tsc <file_name>.ts

  5. Nó sẽ tạo một .jstệp tương ứng . ví dụ<file_name>.js

  6. bây giờ cố gắng node <file_name>.js


-1

Cho cửa sổ:

Thêm đường dẫn bằng cách sử dụng lệnh như bên dưới trong dấu nhắc lệnh:
path =% path%; C: \ Users \\ npm

Như trong trường hợp của tôi, đường dẫn trên không được đăng ký cho lệnh.

% userprofile% trong các cửa sổ đang chạy, sẽ cung cấp cho bạn đường dẫn đến C: \ users \


-1

Điều này hoạt động hoàn hảo trên Mac. Đã thử nghiệm trên macOS High Sierra

sudo npm install -g concurrently
sudo npm install -g lite-server
sudo npm install -g typescript
tsc --init

Điều này tạo ra tệp tsconfig.json.


concurrentlylite-serverkhông liên quan gì đến việc có thể chạy tsclệnh. Vui lòng không khuyên cài đặt các phụ thuộc không cần thiết.
andras

-1

Tôi đã giải quyết vấn đề này trên máy của mình bằng cách chỉ chạy sudo npm installtrong thư mục mà tôi gặp lỗi.


Bạn không bị buộc phải chạy sudođể cài đặt các gói. Sau đó, bạn nên cài đặt lại npm. Xem thêm Đừng sudo
npm
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.