Skip to content

pnpm fails to install transitive .bin executables #899

@ghost

Description

pnpm version:

1.14.8

Code to reproduce the issue:

Contents of shell script file test-buildverse-with-pnpm.sh

Note: this script updated from that provided with #892.

# Run in a temporary directory
rm -rf foobar-develop
clear
npx buildverse create-suite foobar-develop
cd foobar-develop
npm run create-project foo
npm run create-project bar
cd foo
npm install --save chalk
cd ..
cd bar
npm install --save chalk
cd ..
npm run add-project foo
npm run add-project bar

# "The following works..."
echo
echo
echo "Testing with npm..."
echo
npm --version
echo
echo
find . -type d -name node_modules | xargs rm -rf
npm install
echo
echo "NOTE: npm installed the following executables in ./node_modules/.bin"
echo
ls ./node_modules/.bin

# "The following works..."
echo
echo
echo "Testing with yarn..."
echo
yarn --version
echo
echo
find . -type d -name node_modules | xargs rm -rf
yarn install
echo
echo "NOTE: yarn installed the following executables in ./node_modules/.bin"
echo
ls ./node_modules/.bin

# "The following will work soon!"
echo
echo
echo "Testing with pnpm..."
echo
pnpm --version
echo
echo
find . -type d -name node_modules | xargs rm -rf
pnpm install
echo
echo "NOTE: pnpm installed the following executables in ./node_modules/.bin"
echo
ls ./node_modules/.bin

Expected behavior:

Should work the same as npm.

Actual behavior:

Above script works with npm (as well as yarn) but fails with pnpm.
In this script pnpn install fails so it never gets to the follow echo/ls lines which display the executables that were to be installed in foobar-develop/node_modules/.bin.

Additional information:

  • node -v prints:
    v6.11.3

  • npm --version prints:
    5.4.1

  • Windows, OS X, or Linux?:
    Linux

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions