Node.js 如何将npm软件包安装到当前工作目录?

Node.js 如何将npm软件包安装到当前工作目录?,node.js,installation,npm,admin,Node.js,Installation,Npm,Admin,我想将coffee脚本安装到我当前的工作目录中。因此,我运行: 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

我想将coffee脚本安装到我当前的工作目录中。因此,我运行:

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脚本安装到我的主目录(
~/node\u modules/coffee script
)而不是当前工作目录

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

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 ]
先试

install nmp cache clean
之后

npm install coffee-script

尝试将您的
npm
更新为新版本:

[sudo] npm install -g npm
并再次安装coffee脚本模块


另外,确保在
~/.npmrc
文件中没有设置
全局:true

在哪个目录下调用nom install coffee script命令?你有写入权限吗?我在文件夹
~/git/project/
中,我对该文件夹有完全权限。你能显示你的~/.npmrc文件的内容吗?它是否包含全局:真的?嗯…只是一个想法:您在npm上使用的是相对较旧的版本。尝试通过运行以下命令来更新它:
[sudo]npm install-g npm
,然后重新安装咖啡脚本模块。请根据你的评论写一个答案,这样我就可以接受了。