4

ソースからビルドしようとしている過程で、Ubuntu 13.10 の TypeScript インストールが壊れたようです。私はそれをあきらめたので、今は動作するバイナリ インストールに戻りたいだけです。

NodeJSを削除し--purge、再インストールしました

sudo apt-get install nodejs

「ノード」が実際にNodeJSを指していることを確認しました(アンインストールしたUbuntuパッケージ「ノード」ではありません)。コマンド ラインで入力nodeすると、NodeJS プロンプトが表示されるので、問題ないように見えます。

次にnpm、再インストールしてから TypeScript バイナリを

sudo npm -g install TypeScript@0.9.1-1

その結果、

npm http GET https://registry.npmjs.org/typescript/0.9.1-1
npm http 304 https://registry.npmjs.org/typescript/0.9.1-1
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
typescript@0.9.1-1 /usr/local/lib/node_modules/typescript

which tscを指すことを確認しました/usr/local/bin/tsc。このファイルの内容は次のとおりです。

#!/usr/bin/env node
require('./tsc.js')

ディレクトリ/usr/local/lib/node_modules/typescript/bin/には

drwxr-xr-x  3 nobody rolyp    4096 Oct 24 22:55 ./
drwxr-xr-x  3 nobody rolyp    4096 Oct 24 22:55 ../
-rw-r--r--  1 nobody rolyp  323793 Aug 21 17:17 lib.d.ts
drwxr-xr-x 16 nobody rolyp    4096 Oct 24 22:55 resources/
-rwxr-xr-x  1 nobody rolyp      42 Aug 21 17:17 tsc*
-rw-r--r--  1 nobody rolyp 2565152 Aug 21 17:17 tsc.js
-rw-r--r--  1 nobody rolyp 2509628 Aug 21 17:17 typescript.js

最後に、ディレクトリを手動で変更した場合node、 と入力require('./tsc.js')し、NodeJS プロンプトで入力すると、tsc正常に実行されます。

しかしtsc、コマンドラインで入力すると、あいまいなメッセージが表示されます

`: No such file or directory`

node/NodeJS の衝突のため、Ubuntu に TypeScript を最初にインストールしたときに苦労したエラーが発生していないことに注意してください。env: node: No such file or directory

上記のように手動で起動できることを考えると、 をtsc介してコマンドラインから実行するために何をする必要があるか教えてもらえますか?node

4

5 に答える 5

13

パッケージマネージャーからノードをnodejsとしてインストールします。問題を解決するために: TypeScript を実行している「そのようなファイルやディレクトリはありません」、https ://github.com/joyent/node/issues/3911 からの digitalmediums sugestion を使用します: シンボリックリンクを作成するだけです:

ln -s /usr/bin/nodejs /usr/bin/node
于 2013-11-01T01:38:39.463 に答える
6

sudo gedit /usr/local/lib/node_modules/typescript/bin/tsc

初期コンテンツを更新

#!/usr/bin/env node
require('./tsc.js')

#!/usr/bin/env nodejs
require('./tsc.js')
于 2014-03-26T02:48:19.857 に答える
3

ubuntu では、パッケージ nodejs-legacy をインストールします。

apt-get install nodejs-legacy
于 2014-12-24T09:13:21.787 に答える
3

独自の nodejs コマンド ライン ツールを作成しているときに、同じ問題に直面しました。netbeans を使用して Windows でツールを作成し、そこから npmjs に公開しました。Ubuntu で npm を使用してインストールした後、実行しようとしましたが、同じエラー メッセージが表示されました。私はそれを修正するためにあらゆることを試みました.Ubuntuを再インストールしましたが、何も機能しませんでした.

私が見つけた解決策は非常に簡単でした。新しいエントリ ポイント ファイル (#!/usr/bin/env ノードで始まるファイル) を作成し、古いファイルの内容をそこにコピーしました。netbeans も使用しましたが、今回は Ubuntu で行いました。ファイルのエンコーディングが異なっていた可能性があります。

したがって、あなたの場合は、古いファイルを別の場所にコピーした後、同じ場所 (/usr/local/lib/node_modules/typescript/bin/tsc) に新しい tsc ファイルを作成し、古いファイルの内容をコピーして貼り付けます。一つは新しいものへ。おそらく、これは TypeScript 開発者によって修正されるはずです。

于 2013-11-15T19:40:03.627 に答える