【问题标题】:packages fail to install in project directory包无法安装在项目目录中
【发布时间】:2016-07-18 05:10:33
【问题描述】:

我尝试在我的项目目录(~/WebstormProjects/untitled3) 中安装一个包并得到他的以下消息

注意它在我的用户目录(Users/Nick/package.json)而不是我的项目目录中寻找 package.json

这是我的 npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/6.3.0/bin/node',
1 verbose cli   '/Users/Nick/.npm-packages/bin/npm',
1 verbose cli   'install',
1 verbose cli   'express',
1 verbose cli   '--save-dev' ]
2 info using npm@3.9.5
3 info using node@v6.3.0
4 verbose config Skipping project config: /Users/Nick/.npmrc. (matches userconfig)
5 silly loadCurrentTree Starting
6 silly install loadCurrentTree
7 silly install readLocalPackageData
8 silly rollbackFailedOptional Starting
9 silly rollbackFailedOptional Finishing
10 silly runTopLevelLifecycles Starting
11 silly runTopLevelLifecycles Finishing
12 silly install printInstalled
13 verbose stack Error: Failed to parse json
13 verbose stack No data, empty input at 1:1
13 verbose stack
13 verbose stack ^
13 verbose stack     at parseError (/Users/Nick/.npm-packages/lib/node_modules/npm/node_modules/read-package-json/read-json.js:390:11)
13 verbose stack     at parseJson (/Users/Nick/.npm-packages/lib/node_modules/npm/node_modules/read-package-json/read-json.js:79:23)
13 verbose stack     at /Users/Nick/.npm-packages/lib/node_modules/npm/node_modules/read-package-json/read-json.js:48:5
13 verbose stack     at /Users/Nick/.npm-packages/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16
13 verbose stack     at tryToString (fs.js:455:3)
13 verbose stack     at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:442:12)
14 verbose cwd /Users/Nick/WebstormProjects/untitled3
15 error Darwin 15.3.0
16 error argv "/usr/local/Cellar/node/6.3.0/bin/node" "/Users/Nick/.npm-packages/bin/npm" "install" "express" "--save-dev"
17 error node v6.3.0
18 error npm  v3.9.5
19 error file /Users/Nick/package.json
20 error code EJSONPARSE
21 error Failed to parse json
21 error No data, empty input at 1:1
21 error
21 error ^
22 error File: /Users/Nick/package.json
23 error Failed to parse package.json data.
23 error package.json must be actual JSON, not just JavaScript.
23 error
23 error This is not a bug in npm.
23 error Tell the package author to fix their package.json file. JSON.parse
24 verbose exit [ 1, true ]

-- 好的,我已经删除了 /Users/Nick/package.json,但现在包安装在 /Users/Nick/node_modules 中

【问题讨论】:

    标签: node.js npm package


    【解决方案1】:

    您的目录中已有package.json,但未正确配置。尝试检查它,或在此处发布它,我们会提供帮助。

    似乎/Users/Nick/package.json 是有问题的文件 - 尝试删除它,除非它存在的原因。

    供参考:

    1. 当我刚刚尝试安装到一个空目录时 - 安装正常。
    2. 当我删除并创建了一个空的package.json - 得到了同样的错误。 :)

    编辑:鉴于您的编辑,试试这个:

    NPM Installs Package Outside Current Directory

    【讨论】:

    • 由于某种原因,它在我的用户目录(Users/Nick/package.json)而不是我的项目目录中寻找 package.json。我的项目目录中没有 package.json
    • 我认为它首先尝试安装用户的文件,然后尝试安装 CWD 中的文件(不知道为什么,我必须说) - 如果那里真的有这样的文件,只需将其删除。 :)
    • 好的,我已经删除了 /Users/Nick/package.json,但现在包安装在 /Users/Nick/node_modules 中
    • 您能确认 CWD 确实是您需要的吗? (Linux 中的 pwd,不确定 Mac 上是否相同 :))。如果是,那么它可能是 npm 的 PATH 中的东西......
    • 是的 pwd 是项目目录。(在 mac 中也是 PWD)。不知道是不是PATH问题?
    【解决方案2】:

    试试npm install express --save-dev

    【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多