[解決済み] npmスクリプトの作業ディレクトリを変更する
2023-02-05 05:58:30
質問
Q: npmがスクリプトを実行する際のコンテキストを変更することは可能でしょうか?
私がしたいのは以下のようなことです。
"scripts": {
"test": "gulp mocha",
"pre-install": "./deps/2.7/cpython/configure --prefix=$(pwd)/build --exec-prefix=$(pwd)/build && make -C deps/2.7/cpython && make -C deps/2.7/cpython install",
"install": "node-gyp rebuild"
},
明らかに
cd deps/2.7/cpython/ && ./configure
はUNIXのようなシステムでは動作しますが、Windowsでは動作しません。
なぜか。
問題の根本は
configure
コマンドは、それが呼び出されたディレクトリにファイルを出力します。しかし、そのファイルは
make
と
make install
で、レポのディレクトリにあるファイルを探します。
この場合、私は
Makefile
を変更することはできません。Pythonのビルドプロセスは当然ながら複雑だからです。
代替案です。
代替案としては、おそらくいくつかの
install.js
を書き、node の OS に依存しない API と、いくつかの
child_process.exec()
を使うことができます。しかし
npm
を残さないことは本当に素晴らしいことです。
どのように解決するのですか?
npm
を実行するだけです。
cd dir && command -args
のみで、Windowsでも動作します。
を使用するように変更されました。
node
の spawn 機能を使うように変更しました。
https://github.com/npm/npm/pull/10958
で提案されましたが、上記の解決策により却下されました。
関連
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] ブラウザで動作しているURLで「connect ETIMEDOUT」エラーが発生する原因は何ですか?
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] sudoを使わずにnpmがエラーを投げるのを修正する方法
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] npmはどこにパッケージをインストールするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
webpack ENOENTソリューションの起動
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み] nodeファイルの先頭にある"/usr/bin/env node "は、具体的には何をするのですか?
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。
-
[解決済み] バルク更新を行う。
-
[解決済み] npmに`package.json`のパスを指定するには?