1

このことを見つけようとしてかなりの時間を費やしましたが、役に立ちませんでした。構文と同じくらい単純だと確信していますが、問題を長い間見つめていたのかもしれません。古いコードの開発環境を構築しようとしています。現在のコードベースのサイズのため、リファクタリングはオプションではありません。

もちろん、最大の問題は、11 か月前に構築された環境を模倣しようとしているという事実であり、次のものが必要です。

ノード v0.6.11 npm v1.1.1 ブランチ v0.8.1 コーヒースクリプト v1.2

package.json は現在

 "dependencies": {
    "coffee-script": ">= 1.1.1",
    "underscore":    ">= 1.1.7",
    "eco":           ">= 1.0.3",
    "nomnom":        "1.0.0",
    "stylus":        ">= 0.13.7",
    "async":         ">= 0.1.9",
    "yaml":          ">= 0.2.1",
    "file":          ">= 0.1.1",
    "stitch":        ">= 0.3.2",
    "uglify-js":     ">= 1.0.6"
  },
  "devDependencies": {
    "coffee-script": ">= 1.1.1",
    "express":       ">= 2.4.3",
    "nodeunit":      ">= 0.5.3",
    "zombie":        ">= 0.9.7"
  }

もちろん問題は、最初にインストールされた coffeescript が 1.4 であり、1.2 でコンパイルする必要があることです。依存関係セクションで package.json を "coffee-script": "1.2" に変更してから、"cake setup" を実行しました。しかし、それは何も変わりませんでした。ここでどこが間違っているのでしょうか、またはこれにすべて間違ってアプローチしていますか?

同じシステムに正しいバージョンの coffee-script (1.2) のローカル コピーがありますが、サブディレクトリにインストールされているものではなく、そのバージョンを使用するようにブランチを指定する方法がわかりません。

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

1

npmnode_modules依存関係をプロジェクトのファイルと一緒にノードにローカルにインストールするか、フラグを付けてpackage.json実行する場合はグローバルにインストールできます (多くの場合)。npm install-g/usr/local/lib/node_modules/

お気づきのように、グローバルとローカルで異なるバージョンの coffee-script がインストールされているようで、brunch-0.8.1 に強制的に coffee-script 1.2 を使用させたいと考えています。これが私が試すことです:

  • 前と同じように、 で に変更coffee-script1.2ますpackage.json
  • node_modules編集したディレクトリ内のディレクトリを削除しpackage.jsonます。
  • 同じディレクトリで実行npm installします。これにより、更新されたバージョンで編集された package.json ファイルが読み取られ、すべての依存関係が に再インストールされnode_modulesます。

これらの手順により、coffee-script のローカルコピーが 1.2 に設定されます。versionの属性を見て、これを確認しますnode_modules/coffee-script/package.json

ただし、これでもうまくいかない場合があります。

  • このコマンドは、グローバルバージョンの coffee-scriptcake setupを実行しようとしている可能性があります。

cake setupタスクがどのように coffee-script を探しているかの詳細はわかりませんが、ローカルにインストールされたバージョンで動作する場合は問題ありません。

npm uninstall -g coffee-scriptそうでない場合は、 を実行し、それに続いてを実行する必要があります。これにより、コーヒー スクリプトのグローバルnpm install -g npm install coffee-script@1.2バージョンが に設定されます。1.2

お役に立てれば。npm で依存関係を把握するのは難しい場合がありますが、疑わしい場合は、package.jsonファイルのバージョンを確認して実行npm list <package name>すると便利です。

于 2012-11-04T20:46:06.340 に答える