node.js - 如何将 npm 包安装到当前工作目录?

标签 node.js installation npm admin

我想将 CoffeeScript 安装到我当前的工作目录。因此我运行:

npm install coffee-script

不幸的是抛出了一个错误

npm ERR! Error: EACCES, symlink '../coffee-script/bin/coffee'
npm ERR!  { [Error: EACCES, symlink '../coffee-script/bin/coffee'] errno: 3, code: 'EACCES', path: '../coffee-script/bin/coffee' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.16.0-30-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "coffee-script"
npm ERR! cwd /home/username/git/project
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! path ../coffee-script/bin/coffee
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, symlink '../coffee-script/bin/coffee'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/username/git/project/npm-debug.log
npm ERR! not ok code 0

我不明白,为什么我必须以管理员身份运行 npm,因为我不想全局安装它,...

当我运行 sudo npm install Coffee-script 时,coffee-script 将安装到我的主目录 (~/node_modules/coffee-script),而不是当前目录工作目录。

我从 Ubuntu 14.10 存储库安装了 npm。此外,我还安装了包 nodejs-legacy

npm-debug.log 的输出是:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'install', 'coffee-script' ]
2 info using npm@1.4.21
3 info using node@v0.10.25
4 verbose config Skipping project config: /home/username/.npmrc. (matches userconfig)
5 verbose cache add [ 'coffee-script', null ]
6 verbose cache add name=undefined spec="coffee-script" args=["coffee-script",null]
7 verbose parsed url { protocol: null,
7 verbose parsed url   slashes: null,
7 verbose parsed url   auth: null,
7 verbose parsed url   host: null,
7 verbose parsed url   port: null,
7 verbose parsed url   hostname: null,
7 verbose parsed url   hash: null,
7 verbose parsed url   search: null,
7 verbose parsed url   query: null,
7 verbose parsed url   pathname: 'coffee-script',
7 verbose parsed url   path: 'coffee-script',
7 verbose parsed url   href: 'coffee-script' }
8 silly lockFile ab358269-coffee-script coffee-script
9 verbose lock coffee-script /home/username/.npm/ab358269-coffee-script.lock
10 silly lockFile ab358269-coffee-script coffee-script
11 silly lockFile ab358269-coffee-script coffee-script
12 verbose addNamed [ 'coffee-script', '' ]
13 verbose addNamed [ null, '*' ]
14 silly lockFile 53951495-coffee-script coffee-script@
15 verbose lock coffee-script@ /home/username/.npm/53951495-coffee-script.lock
16 silly addNameRange { name: 'coffee-script', range: '*', hasData: false }
17 verbose request where is /coffee-script
18 verbose request registry https://registry.npmjs.org/
19 verbose request id abb6339315a81c84
20 verbose url raw /coffee-script
21 verbose url resolving [ 'https://registry.npmjs.org/', './coffee-script' ]
22 verbose url resolved https://registry.npmjs.org/coffee-script
23 verbose request where is https://registry.npmjs.org/coffee-script
24 info trying registry request attempt 1 at 14:39:35
25 verbose etag "C6XKWMKZT8HLZEMOMC3EPHFEX"
26 http GET https://registry.npmjs.org/coffee-script
27 http 304 https://registry.npmjs.org/coffee-script
28 silly registry.get cb [ 304,
28 silly registry.get   { date: 'Thu, 12 Feb 2015 13:39:36 GMT',
28 silly registry.get     server: 'Apache',
28 silly registry.get     via: '1.1 varnish',
28 silly registry.get     'last-modified': 'Thu, 12 Feb 2015 12:59:26 GMT',
28 silly registry.get     'cache-control': 'max-age=60',
28 silly registry.get     etag: '"C6XKWMKZT8HLZEMOMC3EPHFEX"',
28 silly registry.get     age: '54',
28 silly registry.get     'x-served-by': 'cache-lcy1123-LCY',
28 silly registry.get     'x-cache': 'HIT',
28 silly registry.get     'x-cache-hits': '450',
28 silly registry.get     'x-timer': 'S1423748376.054272,VS0,VE0',
28 silly registry.get     vary: 'Accept',
28 silly registry.get     'content-length': '0',
28 silly registry.get     'keep-alive': 'timeout=10, max=50',
28 silly registry.get     connection: 'Keep-Alive' } ]
29 verbose etag https://registry.npmjs.org/coffee-script from cache
30 silly addNameRange number 2 { name: 'coffee-script', range: '*', hasData: true }
31 silly addNameRange versions [ 'coffee-script',
31 silly addNameRange   [ '0.7.0',
31 silly addNameRange     '0.7.1',
31 silly addNameRange     '0.7.2',
31 silly addNameRange     '0.9.0',
31 silly addNameRange     '0.9.1',
31 silly addNameRange     '0.9.2',
31 silly addNameRange     '0.9.3',
31 silly addNameRange     '0.9.4',
31 silly addNameRange     '0.9.5',
31 silly addNameRange     '0.9.6',
31 silly addNameRange     '1.0.0',
31 silly addNameRange     '1.0.1',
31 silly addNameRange     '1.1.0',
31 silly addNameRange     '1.1.1',
31 silly addNameRange     '1.1.2',
31 silly addNameRange     '1.1.3',
31 silly addNameRange     '1.2.0',
31 silly addNameRange     '1.3.0',
31 silly addNameRange     '1.3.1',
31 silly addNameRange     '1.3.2',
31 silly addNameRange     '1.3.3',
31 silly addNameRange     '1.4.0',
31 silly addNameRange     '1.5.0',
31 silly addNameRange     '1.6.0',
31 silly addNameRange     '1.6.1',
31 silly addNameRange     '1.6.2',
31 silly addNameRange     '1.6.3',
31 silly addNameRange     '1.7.0',
31 silly addNameRange     '1.7.1',
31 silly addNameRange     '1.8.0',
31 silly addNameRange     '1.9.0' ] ]
32 verbose addNamed [ 'coffee-script', '1.9.0' ]
33 verbose addNamed [ '1.9.0', '1.9.0' ]
34 silly lockFile 479ea950-coffee-script-1-9-0 coffee-script@1.9.0
35 verbose lock coffee-script@1.9.0 /home/username/.npm/479ea950-coffee-script-1-9-0.lock
36 silly lockFile 479ea950-coffee-script-1-9-0 coffee-script@1.9.0
37 silly lockFile 479ea950-coffee-script-1-9-0 coffee-script@1.9.0
38 silly lockFile 53951495-coffee-script coffee-script@
39 silly lockFile 53951495-coffee-script coffee-script@
40 silly resolved [ { name: 'coffee-script',
40 silly resolved     description: 'Unfancy JavaScript',
40 silly resolved     keywords: [ 'javascript', 'language', 'coffeescript', 'compiler' ],
40 silly resolved     author: { name: 'Jeremy Ashkenas' },
40 silly resolved     version: '1.9.0',
40 silly resolved     license: 'MIT',
40 silly resolved     engines: { node: '>=0.8.0' },
40 silly resolved     directories: { lib: './lib/coffee-script' },
40 silly resolved     main: './lib/coffee-script/coffee-script',
40 silly resolved     bin: { coffee: './bin/coffee', cake: './bin/cake' },
40 silly resolved     preferGlobal: true,
40 silly resolved     scripts:
40 silly resolved      { test: 'node ./bin/cake test',
40 silly resolved        'test-harmony': 'node --harmony ./bin/cake test' },
40 silly resolved     homepage: 'http://coffeescript.org',
40 silly resolved     bugs: { url: 'https://github.com/jashkenas/coffeescript/issues' },
40 silly resolved     repository:
40 silly resolved      { type: 'git',
40 silly resolved        url: 'git://github.com/jashkenas/coffeescript.git' },
40 silly resolved     devDependencies:
40 silly resolved      { 'uglify-js': '~2.2',
40 silly resolved        jison: '>=0.2.0',
40 silly resolved        'highlight.js': '~8.0.0',
40 silly resolved        underscore: '~1.5.2',
40 silly resolved        docco: '~0.6.2' },
40 silly resolved     gitHead: 'f7692c92ce61c277a3f9a38c6bdbe712730d040a',
40 silly resolved     _id: 'coffee-script@1.9.0',
40 silly resolved     _shasum: '7492cbbc3f0361cc5d8865aff7237552ff33e1f7',
40 silly resolved     _from: 'coffee-script@',
40 silly resolved     _npmVersion: '1.4.28',
40 silly resolved     _npmUser: { name: 'jashkenas', email: 'jashkenas@gmail.com' },
40 silly resolved     maintainers: [ [Object], [Object] ],
40 silly resolved     dist:
40 silly resolved      { shasum: '7492cbbc3f0361cc5d8865aff7237552ff33e1f7',
40 silly resolved        tarball: 'http://registry.npmjs.org/coffee-script/-/coffee-script-1.9.0.tgz' },
40 silly resolved     _resolved: 'https://registry.npmjs.org/coffee-script/-/coffee-script-1.9.0.tgz',
40 silly resolved     readme: 'ERROR: No README data found!' } ]
41 info install coffee-script@1.9.0 into /home/username
42 info installOne coffee-script@1.9.0
43 verbose node_modules/coffee-script unbuild
44 info preuninstall coffee-script@1.9.0
45 info uninstall coffee-script@1.9.0
46 verbose true,/home/username/node_modules,/home/username/node_modules unbuild coffee-script@1.9.0
47 verbose /home/username/node_modules/.bin,[object Object] binRoot
48 verbose node_modules/coffee-script unbuild
49 info preuninstall coffee-script@1.9.0
50 info uninstall coffee-script@1.9.0
51 verbose true,/home/username/node_modules,/home/username/node_modules unbuild coffee-script@1.9.0
52 verbose /home/username/node_modules/.bin,[object Object] binRoot
53 error error rolling back Error: EACCES, unlink '/home/username/node_modules/.bin/coffee'
53 error error rolling back  coffee-script@1.9.0 { [Error: EACCES, unlink '/home/username/node_modules/.bin/coffee']
53 error error rolling back   errno: 3,
53 error error rolling back   code: 'EACCES',
53 error error rolling back   path: '/home/username/node_modules/.bin/coffee' }
54 error Error: EACCES, unlink '/home/username/node_modules/.bin/coffee'
54 error  { [Error: EACCES, unlink '/home/username/node_modules/.bin/coffee']
54 error   errno: 3,
54 error   code: 'EACCES',
54 error   path: '/home/username/node_modules/.bin/coffee' }
55 error Please try running this command again as root/Administrator.
56 error System Linux 3.16.0-30-generic
57 error command "/usr/bin/nodejs" "/usr/bin/npm" "install" "coffee-script"
58 error cwd /home/username/Desktop/npmtest
59 error node -v v0.10.25
60 error npm -v 1.4.21
61 error path /home/username/node_modules/.bin/coffee
62 error code EACCES
63 error errno 3
64 error stack Error: EACCES, unlink '/home/username/node_modules/.bin/coffee'
65 verbose exit [ 3, true ]

最佳答案

尝试将您的 npm 更新到较新的版本:

[sudo] npm install -g npm

并再次安装coffee-script模块。

此外,请确保您的 ~/.npmrc 文件中没有设置 global: true

关于node.js - 如何将 npm 包安装到当前工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28476033/

相关文章:

javascript - NodeJS从缓冲区解码字符串返回多行字符串

node.js - 有没有办法在全局范围内编写 beforeEach ?

c++ - 安装MinGW时如何设置环境变量PATH(Windows 32位)

r - 在 Ubuntu 18.04 LTS 上安装 R 3.5.0

node.js - 安装npm时出现错误

css - Materialize CSS - 如何将颜色修改与 NPM 模块分开?

javascript - XML 到 Json Nodejs

javascript - Firebase 使用 onCreate 部署获取 ID 以获取推送通知

python - scikit-learn 安装失败/找不到 numpy/缺少 numpy header

node.js - 安装塔 npm 失败