web-dev-qa-db-ja.com

browserifyエラー/ usr / bin / env:node:No such file or directory

Apt-get installとすべての依存関係を介してノードjsとnpmをインストールし、browserifyをインストールしました

npm install browserify -g

それはプロセスを経て、正しくインストールされているようですが、これごとに簡単なバンドルをしようとすると walkthrough

エラーが表示されます:

/ usr/bin/env:node:そのようなファイルまたはディレクトリはありません

enter image description here

85
Eduardo Dennis

NVMまたはNodejs Version Managerを使用してNodejsをインストールすることもできます。バージョンマネージャの使用には benefits がたくさんあります。それらの1つは、この問題を心配する必要がないことです。


手順:


Sudo apt-get update
Sudo apt-get install build-essential libssl-dev

必要なパッケージをインストールしたら、プロジェクトのGitHubページからnvmインストールスクリプトをプルダウンできます。バージョン番号は異なる場合がありますが、一般に、次の構文でダウンロードしてインストールできます。

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

これにより、スクリプトがダウンロードされて実行されます。ソフトウェアは、~/.nvmのホームディレクトリのサブディレクトリにインストールされます。また、~/.profileファイルに必要な行を追加して、ファイルを使用します。

Nvm機能にアクセスするには、ログアウトして再度ログインする必要があります。または〜/ .profileファイルを取得して、現在のセッションが変更を認識できるようにします。

source ~/.profile

Nvmがインストールされたので、分離されたNode.jsバージョンをインストールできます。

インストール可能なNode.jsのバージョンを確認するには、次のように入力します。

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14

ご覧のとおり、この記事の執筆時点での最新バージョンはv0.11.14です。次のように入力してインストールできます。

nvm install 0.11.14

通常、nvmは最後にインストールされたバージョンを使用するように切り替わります。次のように入力して、ダウンロードしたばかりのバージョンを使用するようにnvmに明示的に指示できます。

nvm use 0.11.14

Nvmを使用してNode.jsをインストールすると、実行可能ファイルはノードと呼ばれます。次のように入力すると、現在シェルで使用されているバージョンを確認できます。

node -v

Comepleteチュートリアルを見つけることができます こちら

7
Eduardo Dennis

一部のLinuxディストリビューションは、nodejsを「node」実行可能ファイルとしてではなく、「nodejs」としてインストールします。

この場合、「ノード」バイナリの後に多くのパッケージがプログラムされているため、「ノード」に手動でリンクする必要があります。 「python」にリンクされていない「python2」でも同様のことが起こります。

この場合、簡単なシンボリックリンクを作成できます。パッケージバイナリを/usr/binにインストールするLinuxディストリビューションの場合

ln -s /usr/bin/nodejs /usr/bin/node
243
bodokaiser

新しい回答:

  1. システムパッケージマネージャー(dnf、apt-getなど)を使用してインストールしたnodejsパッケージをアンインストールし、アップグレードごとに再作成してきた愚かなシンボリックリンクを削除します(笑)。
  2. NVMをインストールし、
  3. nvmを使用してnodejsをインストールします:nvm install 6

古い答え:

シンボリックリンクの作成や他のノードパッケージのインストールについての話は偽りで、持続可能ではありません。

これを解決する正しい方法は次のとおりです。

  1. 既に持っているようにapt-getでnodejsパッケージをインストールするだけです
  2. update-alternativesを使用して、nodejsバイナリが#!/usr/bin/env nodeを担当していることを示します

そのようです :

Sudo apt-get install nodejs
Sudo update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100

これは、パッケージのアップグレード、dist-upgradeなどを通じて持続可能になりました。

52
airtonix

apt-get install nodejs-legacyを実行します。

特定のLinuxディストリビューションでは、node.jsのバイナリ名が変更され、多くのnode.jsパッケージと互換性がなくなりました。パッケージnodejs-legacyは、これを解決するためのシンボリックリンクを提供します。

35
alex
Sudo apt-get install nodejs-legacy

これにより、シンボリックリンク/usr/bin/node -> nodejsが作成されます。

ソース: https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html

3
kamikater

Linuxでatomをビルドするときも同じ問題のようです。

Sudo apt-get install nodejs-dev

あなたに役立つ私のquestion.hopeを修正してください。

0
kangear
  1. コマンドwhich nodeを実行すると、結果は何かになります

    /home/moh/.nvm/versions/node/v8.9.4/bin/node

  2. 上記のパスをコピーしてから、ステップ3のコマンドを実行します。

  3. ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/node

0
Rifaideen

「node」ではなく「nodejs」を呼び出す必要があります。これを確認するには、シェルでnode -vと入力します。何も見つからない場合は、nodejs -vを試してください。バージョン番号が表示される場合、使用するコマンドはnodejsではなくnodeです。したがって、スクリプト内のbrowserifyへの呼び出しをnodeからnodejsに変更する必要があります(以下を参照)。replace

#!/usr/bin/env node

#!/usr/bin/env nodejs

スーパーユーザーとしてスクリプトを開く必要がある場合もあります。

0
user51324

シンボリックリンクしたくない場合は、これを行うことができます。 Ubuntuで動作します

#!/usr/local/bin/node --harmony

ハーモニータグは、新しいECMAscriptハーモニー用です

0
user2290820