2017-08-11 3 views
0

私はnpmにUbuntu 16.04でパッケージをインストールしようとしています。私の問題は、SHないbashのでのpushdを実行しようとしている明らかなようNPMインストールされ、npm installのシェルを変更するには

npm install 

... 

> [email protected] bower-install /home/kent/Documents/padlock 
> pushd app && bower install && popd app 

sh: 1: pushd: not found 

私の研究/bin/sh: pushd: not foundによると

:私は、次のエラーメッセージが表示されます。

しかし、私のデフォルトのシェルはすでにbashの

$ env | grep SHELL 
SHELL=/bin/bash 
$ echo $SHELL 
/bin/bash 
$ echo $0 
bash 

であると私は変更する必要があるかわかりません。私はpushdのアプリケーションを実行する前にSHELL =/bin/bashを追加しようとしましたが、それには何の不運もありませんでした。あなたのスクリプトが作るためにはbashを使用したい場合は

+0

'ls -al/bin/bash'を使って、' bash'が他のシェルにリンクしているかどうか調べてみましょう。 – CWLiu

+0

ls -al/bin/bash -rwxr-xr-x .../bin/bash – kshikama

答えて

0

NPM-スクリプトは

https://docs.npmjs.com/misc/scripts#exiting

をshにするために、スクリプトの引数として行を渡すことで実行されているsh

スクリプトを使用して実行しますスクリプト

bash -c 'pushd app && bower install && popd'

+0

興味深い...パドロック開発者はpushdがどうやってうまくいくと思いましたか? – kshikama

+0

'sh'はいくつかのシステムではbashですが、Debianベースのシステムではダッシュが – Robo

+0

です。ありがとう:) – kshikama

関連する問題